############### 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!