创建 Deployment

nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deploy
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        resources:
          limits:
            memory: "128Mi"
            cpu: "500m"
        ports:
        - containerPort: 80

创建 Deployment

$ kubectl create -f nginx-deployment.yaml 
deployment.apps/nginx-deploy created

$ kubectl get deploy
NAME           READY   UP-TO-DATE   AVAILABLE   AGE
nginx-deploy   2/2     2            2           17s

查看 Deployment 状态

$ kubectl rollout status deploy nginx-deploy
deployment "nginx-deploy" successfully rolled out

查看 ReplicaSet

Deployment 通过 ReplicaSet 管理 Pod,可以查看此 Deployment 当前对应的 ReplicaSet:

$ kubectl get rs -l app=nginx
NAME                      DESIRED   CURRENT   READY   AGE
nginx-deploy-585ff57b46   2         2         2       7m53s

如果 Deployment 有过更新,对应的 ReplicaSet 可能不止一个。

查看 Pod

查看此 Deployment 创建的Pod,可以看到 Pod 的 hash 值 585ff57b46 和 ReplicaSet 的 hash 值一致:

$ kubectl get pod -l app=nginx
NAME                            READY   STATUS    RESTARTS   AGE
nginx-deploy-585ff57b46-v8dhb   1/1     Running   0          14m
nginx-deploy-585ff57b46-z7sl7   1/1     Running   0          14m

最后更新于