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

灰度发布在不同场景中实现方式不同,如果当前灰度机器仅对测试开放,可以定义一个新的deployment来配合service来实现。如果需要切入一部分随机真实用户的流量,可以将生产机器中一台机器作为灰度机器,通过灰度后再升级其它的机器。

  1. # nginx-v1.15.yaml 与 nginx-v1.14.yaml 一致,仅仅修改了镜像文件
  2. [root@hdss7-21 ~]# kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.15.yaml --record=true && kubectl rollout pause deployment nginx-deploy -n app
  3. [root@hdss7-21 ~]# kubectl rollout history deployment nginx-deploy -n app
  4. REVISION CHANGE-CAUSE
  5. 1 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.12.yaml --record=true
  6. 2 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.13.yaml --record=true
  7. 3 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.14.yaml --record=true
  8. 4 kubectl apply --filename=http://k8s-yaml.od.com/base_resource/deployment/nginx-v1.15.yaml --record=true
  9. [root@hdss7-21 ~]# kubectl get rs -n app -l tier=slb -L version # 存在两个ReplicaSet对外提供服务
  10. NAME DESIRED CURRENT READY AGE VERSION
  11. nginx-deploy-5597c8b45 0 0 0 177m v1.12
  12. nginx-deploy-6695fd9655 1 1 1 2m22s v1.15
  13. nginx-deploy-6bd88df699 0 0 0 176m v1.13
  14. nginx-deploy-7c5976dcd9 5 5 5 23m v1.14
  15. [root@hdss7-21 ~]# kubectl get pod -n app -l partition=website -L version -w # 新老共存
  16. NAME READY STATUS RESTARTS AGE VERSION
  17. nginx-deploy-6695fd9655-tcm76 1/1 Running 0 17s v1.15
  18. nginx-deploy-7c5976dcd9-4tnv4 1/1 Running 0 21m v1.14
  19. nginx-deploy-7c5976dcd9-bpjc2 1/1 Running 0 20m v1.14
  20. nginx-deploy-7c5976dcd9-gv8qm 1/1 Running 0 20m v1.14
  21. nginx-deploy-7c5976dcd9-ttlqx 1/1 Running 0 21m v1.14
  22. nginx-deploy-7c5976dcd9-xq2qs 1/1 Running 0 21m v1.14
  1. # 手动暂停
  2. [root@hdss7-21 ~]# kubectl rollout resume deployment nginx-deploy -n app && kubectl rollout pause deployment nginx-deploy -n app
  3. [root@hdss7-21 ~]# kubectl get pod -n app -l partition=website -L version -w
  4. NAME READY STATUS RESTARTS AGE VERSION
  5. nginx-deploy-6695fd9655-jmb94 1/1 Running 0 19s v1.15
  6. nginx-deploy-6695fd9655-tcm76 1/1 Running 0 6m19s v1.15
  7. nginx-deploy-7c5976dcd9-4tnv4 1/1 Running 0 27m v1.14
  8. nginx-deploy-7c5976dcd9-gv8qm 1/1 Running 0 26m v1.14
  9. nginx-deploy-7c5976dcd9-ttlqx 1/1 Running 0 27m v1.14
  10. nginx-deploy-7c5976dcd9-xq2qs 1/1 Running 0 27m v1.14
  11. # 升级剩余所有机器
  12. [root@hdss7-21 ~]# kubectl rollout resume deployment nginx-deploy -n app

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