当前位置:  首页>> 技术小册>> Kubernets合辑5-Pod控制器

滚动更新是按照倒序方式进行,可以指定分区号,如指定分区号N,则表示更新序号大于等于N的Pod,默认分区为0,表示更新所有Pod

  1. [root@maxiaoke local-k8s-yaml]# kubectl -n apps set image sts nginx-web nginx-web=linuxmaxiaoke/nginx:v1.0.1
  2. [root@maxiaoke ~]# kubectl get pod -n apps -w # 注意是倒序更新所有Pod
  3. NAME READY STATUS RESTARTS AGE
  4. nginx-web-0 1/1 Running 2 10h
  5. nginx-web-1 1/1 Running 2 10h
  6. nginx-web-1 1/1 Terminating 2 10h
  7. nginx-web-1 0/1 Terminating 2 10h
  8. nginx-web-1 0/1 Terminating 2 10h
  9. nginx-web-1 0/1 Terminating 2 10h
  10. nginx-web-1 0/1 Pending 0 0s
  11. nginx-web-1 0/1 Pending 0 0s
  12. nginx-web-1 0/1 ContainerCreating 0 0s
  13. nginx-web-1 0/1 Running 0 22s
  14. nginx-web-1 1/1 Running 0 27s
  15. nginx-web-0 1/1 Terminating 2 10h
  16. nginx-web-0 0/1 Terminating 2 10h
  17. nginx-web-0 0/1 Terminating 2 10h
  18. nginx-web-0 0/1 Terminating 2 10h
  19. nginx-web-0 0/1 Pending 0 0s
  20. nginx-web-0 0/1 Pending 0 0s
  21. nginx-web-0 0/1 ContainerCreating 0 0s
  22. nginx-web-0 0/1 ErrImagePull 0 29s
  23. nginx-web-0 0/1 ImagePullBackOff 0 44s
  24. nginx-web-0 0/1 Running 0 62s
  25. nginx-web-0 1/1 Running 0 70s
  1. [root@maxiaoke local-k8s-yaml]# kubectl -n apps patch sts nginx-web -p '{"spec":{"replicas":5}}' # 扩容到5个副本,方便演示
  2. [root@maxiaoke local-k8s-yaml]# kubectl -n apps patch sts nginx-web -p '{"spec":{"updateStrategy":{"type":"RollingUpdate","rollingUpdate":{"partition":3}}}}' # 指定更新分区为3
  3. [root@maxiaoke local-k8s-yaml]# kubectl -n apps set image sts nginx-web nginx-web=linuxmaxiaoke/nginx:v1.0.2 # 开始更新
  4. [root@maxiaoke ~]# kubectl get pod -n apps -w # 只更新序号4和3的Pod
  5. NAME READY STATUS RESTARTS AGE
  6. nginx-web-0 1/1 Running 0 6m31s
  7. nginx-web-1 1/1 Running 0 7m12s
  8. nginx-web-2 1/1 Running 0 3m38s
  9. nginx-web-3 1/1 Running 0 3m33s
  10. nginx-web-4 1/1 Running 0 3m23s
  11. nginx-web-4 1/1 Terminating 0 3m25s
  12. nginx-web-4 0/1 Terminating 0 3m26s
  13. nginx-web-4 0/1 Terminating 0 3m32s
  14. nginx-web-4 0/1 Terminating 0 3m32s
  15. nginx-web-4 0/1 Pending 0 0s
  16. nginx-web-4 0/1 Pending 0 0s
  17. nginx-web-4 0/1 ContainerCreating 0 0s
  18. nginx-web-4 0/1 Running 0 10s
  19. nginx-web-4 1/1 Running 0 17s
  20. nginx-web-3 1/1 Terminating 0 3m59s
  21. nginx-web-3 0/1 Terminating 0 4m
  22. nginx-web-3 0/1 Terminating 0 4m1s
  23. nginx-web-3 0/1 Terminating 0 4m1s
  24. nginx-web-3 0/1 Pending 0 0s
  25. nginx-web-3 0/1 Pending 0 0s
  26. nginx-web-3 0/1 ContainerCreating 0 0s
  27. nginx-web-3 0/1 Running 0 22s
  28. nginx-web-3 1/1 Running 0 25s
  1. [root@maxiaoke local-k8s-yaml]# kubectl -n apps patch sts nginx-web -p '{"spec":{"updateStrategy":{"type":"RollingUpdate","rollingUpdate":{"partition":0}}}}' # 修改分区为0
  2. [root@maxiaoke ~]# kubectl get pod -n apps -w # 会更新剩下来的三个Pod
  3. NAME READY STATUS RESTARTS AGE
  4. nginx-web-0 1/1 Running 0 9m10s
  5. nginx-web-1 1/1 Running 0 9m51s
  6. nginx-web-2 1/1 Running 0 6m17s
  7. nginx-web-3 1/1 Running 0 2m11s
  8. nginx-web-4 1/1 Running 0 2m30s
  9. nginx-web-2 1/1 Terminating 0 6m24s
  10. nginx-web-2 0/1 Terminating 0 6m24s
  11. nginx-web-2 0/1 Terminating 0 6m25s
  12. nginx-web-2 0/1 Terminating 0 6m25s
  13. nginx-web-2 0/1 Pending 0 0s
  14. nginx-web-2 0/1 Pending 0 0s
  15. nginx-web-2 0/1 ContainerCreating 0 0s
  16. nginx-web-2 0/1 Running 0 1s
  17. nginx-web-2 1/1 Running 0 9s
  18. nginx-web-1 1/1 Terminating 0 10m
  19. nginx-web-1 0/1 Terminating 0 10m
  20. nginx-web-1 0/1 Terminating 0 10m
  21. nginx-web-1 0/1 Terminating 0 10m
  22. nginx-web-1 0/1 Pending 0 0s
  23. nginx-web-1 0/1 Pending 0 0s
  24. nginx-web-1 0/1 ContainerCreating 0 0s
  25. nginx-web-1 0/1 Running 0 1s
  26. nginx-web-1 1/1 Running 0 8s
  27. nginx-web-0 1/1 Terminating 0 9m47s
  28. nginx-web-0 0/1 Terminating 0 9m48s
  29. nginx-web-0 0/1 Terminating 0 10m
  30. nginx-web-0 0/1 Terminating 0 10m
  31. nginx-web-0 0/1 Pending 0 0s
  32. nginx-web-0 0/1 Pending 0 0s
  33. nginx-web-0 0/1 ContainerCreating 0 0s
  34. nginx-web-0 0/1 Running 0 1s
  35. nginx-web-0 1/1 Running 0 9s

该分类下的相关小册推荐: