灰度发布是什么?如何使用k8s现有的资源实现灰度发布?
灰度测试,又名金丝雀,发布一般是先发1台机器,或者一个小比例,例如2%的服务器,主要做流量验证用,也称为金丝雀 (Canary) 测试。以前旷工下矿前,会先放一只金丝雀进去用于探测洞里是否有有毒气体,看金丝雀能否活下来,金丝雀发布由此得名。简单的金丝雀测试一般通过手工测试验证,复杂的金丝雀测试需要比较完善的监控基础设施配合,通过监控指标反馈,观察金丝雀的健康状况,作为后续发布或回退的依据。如果金丝测试通过,则把剩余的 V1 版本全部升级为 V2 版本。如果金丝雀测试失败,则直接回退金丝雀,发布失败。
灰度介绍出自:蓝绿、ABTest、滚动部署、灰度发布、金丝雀发布介绍
1、更新镜像,并暂停升级
kubectl set image deployment myapp-deploy myapp:v2 -n test && kubectl rollout pause deployment myapp-deploy -n test
把myapp这个容器的镜像更新到myapp:v2版本,更新镜像之后,创建一个新的pod就立即暂停,这就是我们说的金丝雀发布;如果暂停几个小时之后没有问题,那么取消暂停,就会依次执行后面步骤,把所有pod都升级。
2、解除暂停
确认新版本没问题,则解除暂停
kubectl rollout resume deployment myapp-deploy -n test
完整步骤,参考:Kubernetes(k8s)之金丝雀发布(灰度)
找不到想要的答案?提一个您自己的问题。
0 声望
这家伙太懒,什么都没留下
灰度发布是什么?
灰度测试,又名金丝雀,发布一般是先发1台机器,或者一个小比例,例如2%的服务器,主要做流量验证用,也称为金丝雀 (Canary) 测试。以前旷工下矿前,会先放一只金丝雀进去用于探测洞里是否有有毒气体,看金丝雀能否活下来,金丝雀发布由此得名。简单的金丝雀测试一般通过手工测试验证,复杂的金丝雀测试需要比较完善的监控基础设施配合,通过监控指标反馈,观察金丝雀的健康状况,作为后续发布或回退的依据。如果金丝测试通过,则把剩余的 V1 版本全部升级为 V2 版本。如果金丝雀测试失败,则直接回退金丝雀,发布失败。
灰度介绍出自:蓝绿、ABTest、滚动部署、灰度发布、金丝雀发布介绍
如何使用Kubernetes(k8s)现有的资源实现灰度发布?
1、更新镜像,并暂停升级
kubectl set image deployment myapp-deploy myapp:v2 -n test && kubectl rollout pause deployment myapp-deploy -n test
把myapp这个容器的镜像更新到myapp:v2版本,更新镜像之后,创建一个新的pod就立即暂停,这就是我们说的金丝雀发布;如果暂停几个小时之后没有问题,那么取消暂停,就会依次执行后面步骤,把所有pod都升级。
2、解除暂停
确认新版本没问题,则解除暂停
kubectl rollout resume deployment myapp-deploy -n test
完整步骤,参考:Kubernetes(k8s)之金丝雀发布(灰度)
你的答案