Kubernetes - deployment and roll-update

############### deployment and roll update

[23:39:27 root@master1 controller]#cat 09-controller-deployment-test.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deployment-test
spec:
  replicas: 3
  selector:
    matchLabels:
      app: rs-test
  template:
    metadata:
      labels:
        app: rs-test
    spec:
      containers:
      - name: nginxpod-test
        image: 10.0.0.55:80/mykubernetes/pod_test:v0.1
[23:39:34 root@master1 controller]#kubectl apply -f 09-controller-deployment-test.yaml 
deployment.apps/deployment-test created
[23:39:52 root@master1 controller]#kubectl get pod
NAME                               READY   STATUS    RESTARTS   AGE
deployment-test-7b957896d6-lf4n4   1/1     Running   0          8s
deployment-test-7b957896d6-rjpsf   1/1     Running   0          8s
deployment-test-7b957896d6-zc27q   1/1     Running   0          8s
[23:40:00 root@master1 controller]#kubectl get pod -o wide
NAME                               READY   STATUS    RESTARTS   AGE   IP            NODE               NOMINATED NODE   READINESS GATES
deployment-test-7b957896d6-lf4n4   1/1     Running   0          44s   10.244.4.56   node2.noisedu.cn   <none>           <none>
deployment-test-7b957896d6-rjpsf   1/1     Running   0          44s   10.244.3.17   node1.noisedu.cn   <none>           <none>
deployment-test-7b957896d6-zc27q   1/1     Running   0          44s   10.244.4.57   node2.noisedu.cn   <none>           <none>
[23:41:06 root@master1 controller]#curl 10.244.4.56
kubernetes pod-test v0.1!! ClientIP: 10.0.0.50, ServerName: deployment-test-7b957896d6-lf4n4, ServerIP: 10.244.4.56!
[23:41:31 root@master1 controller]#curl 10.244.3.17
kubernetes pod-test v0.1!! ClientIP: 10.0.0.50, ServerName: deployment-test-7b957896d6-rjpsf, ServerIP: 10.244.3.17!
[23:41:35 root@master1 controller]#curl 10.244.4.57
kubernetes pod-test v0.1!! ClientIP: 10.0.0.50, ServerName: deployment-test-7b957896d6-zc27q, ServerIP: 10.244.4.57!


====

[23:51:47 root@master1 controller]#cat 10-controller-deployment-rollupdate.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rolling-update
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginxpod-test
  template:
    metadata:
      labels:
        app: nginxpod-test
    spec:
      containers:
      - name: pod-roll
        image: 10.0.0.55:80/mykubernetes/pod_test:v0.1
  minReadySeconds: 5
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 2
      maxUnavailable: 2
[23:52:01 root@master1 controller]#kubectl apply -f 10-controller-deployment-rollupdate.yaml 
deployment.apps/rolling-update created
[23:52:13 root@master1 controller]#kubectl get pod -o wide
NAME                              READY   STATUS    RESTARTS   AGE   IP            NODE               NOMINATED NODE   READINESS GATES
rolling-update-545664bc7c-4p5d6   1/1     Running   0          6s    10.244.3.23   node1.noisedu.cn   <none>           <none>
rolling-update-545664bc7c-5gwq2   1/1     Running   0          6s    10.244.4.63   node2.noisedu.cn   <none>           <none>
rolling-update-545664bc7c-hqzx2   1/1     Running   0          6s    10.244.4.62   node2.noisedu.cn   <none>           <none>
[23:52:19 root@master1 controller]#curl 10.244.3.23 
kubernetes pod-test v0.1!! ClientIP: 10.0.0.50, ServerName: rolling-update-545664bc7c-4p5d6, ServerIP: 10.244.3.23!
[23:52:26 root@master1 controller]#curl 10.244.4.63
kubernetes pod-test v0.1!! ClientIP: 10.0.0.50, ServerName: rolling-update-545664bc7c-5gwq2, ServerIP: 10.244.4.63!
[23:52:38 root@master1 controller]#curl 10.244.4.62 
kubernetes pod-test v0.1!! ClientIP: 10.0.0.50, ServerName: rolling-update-545664bc7c-hqzx2, ServerIP: 10.244.4.62!

[23:54:03 root@master1 controller]#kubectl rollout status deployment rolling-update 
Waiting for deployment "rolling-update" rollout to finish: 0 out of 3 new replicas have been updated...

[23:54:57 root@master1 controller]#kubectl set image deployment/rolling-update pod-roll="10.0.0.55:80/mykubernetes/pod_test:v0.2" --record=true
Flag --record has been deprecated, --record will be removed in the future
deployment.apps/rolling-update image updated
[23:55:48 root@master1 controller]#kubectl rollout status deployment rolling-update 
Waiting for deployment "rolling-update" rollout to finish: 1 old replicas are pending termination...
Waiting for deployment "rolling-update" rollout to finish: 1 old replicas are pending termination...
deployment "rolling-update" successfully rolled out

[23:56:35 root@master1 ~]#kubectl get pod -o wide
NAME                              READY   STATUS    RESTARTS   AGE   IP            NODE               NOMINATED NODE   READINESS GATES
rolling-update-546b6d575b-l9czc   1/1     Running   0          55s   10.244.3.24   node1.noisedu.cn   <none>           <none>
rolling-update-546b6d575b-n2bbc   1/1     Running   0          55s   10.244.4.64   node2.noisedu.cn   <none>           <none>
rolling-update-546b6d575b-wwz2q   1/1     Running   0          55s   10.244.4.65   node2.noisedu.cn   <none>           <none>
[23:56:43 root@master1 ~]#curl 10.244.3.24
kubernetes pod-test v0.2!! ClientIP: 10.0.0.50, ServerName: rolling-update-546b6d575b-l9czc, ServerIP: 10.244.3.24!
[23:56:47 root@master1 ~]#curl 10.244.4.64
kubernetes pod-test v0.2!! ClientIP: 10.0.0.50, ServerName: rolling-update-546b6d575b-n2bbc, ServerIP: 10.244.4.64!
[23:56:52 root@master1 ~]#curl 10.244.4.65
kubernetes pod-test v0.2!! ClientIP: 10.0.0.50, ServerName: rolling-update-546b6d575b-wwz2q, ServerIP: 10.244.4.65!

  

posted @ 2021-12-05 23:58  每天都在学习的自己  阅读(67)  评论(0)    收藏  举报