首页 > 其他分享 >k8s如何部署服务

k8s如何部署服务

时间:2024-09-11 10:27:15浏览次数:12  
标签:服务 配置文件 Service 部署 app Deployment 80 k8s my

在Kubernetes中,配置文件通常以YAML格式编写,用于定义各种资源,如Deployments、Services、Pods等。以下是一个简单的示例,展示了如何编写一个Deployment和一个Service的配置文件。

1.Deployment 配置文件

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-deployment
  labels:
    app: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app-container
        image: my-registry/my-app:latest
        ports:
        - containerPort: 80
        resources:
          requests:
            memory: "64Mi"
            cpu: "250m"
          limits:
            memory: "128Mi"
            cpu: "500m"

这个Deployment配置文件定义了一个名为my-app-deployment的Deployment,它指定了:

  • 使用my-registry/my-app:latest作为容器的镜像。
  • 容器内部监听的端口是80。
  • 请求和限制的资源分别是64Mi内存和250m CPU,以及128Mi内存和500m CPU的限制。
  • 副本数量为3。

2.Service 配置文件

service.yaml

apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  type: ClusterIP
  selector:
    app: my-app
  ports:
  - port: 80
    targetPort: 80

这个Service配置文件定义了一个名为my-app-service的Service,它指定了:

  • 使用ClusterIP类型,这意味着Service只能在集群内部访问。
  • 选择标签为app: my-app的Pods作为服务的后端。
  • 将Service的80端口映射到Pods的80端口上。

3.部署到Kubernetes集群

要将这些配置文件应用到Kubernetes集群中,您可以使用kubectl命令行工具。首先,确保您已经连接到集群。然后,使用以下命令:

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

这些命令会读取YAML文件,并创建或更新Kubernetes集群中的Deployment和Service资源。之后,您可以通过集群内部的其他服务或Pod来访问这个Service,或者如果您配置了Ingress,那么还可以从集群外部访问它。

标签:服务,配置文件,Service,部署,app,Deployment,80,k8s,my
From: https://www.cnblogs.com/you-fish/p/18407781

相关文章