我只想在k8s中部署一个Pod。
例如,我在一个池中以相同的代码部署了多个Pod,但是我只想更改一个Pod进行一些测试。可以吗?
答案 0 :(得分:0)
也许你是说Blue-Green Deployments
。
常见的发行过程包括在最新发行的发行版中添加新的Pod,并可能暴露一定百分比的流量以路由到新发行的Pod。如果一切顺利,则可以使用旧版本删除旧的Pod,然后用新版本的新Pod替换它们。
此article讨论了Kubernetes的蓝绿色部署。
还可以将类似服务网格的istio与Kubernetes一起用于高级蓝绿色部署,例如根据标头值或cookie将流量重定向到新版本。
答案 1 :(得分:0)
您在问题中所描述的实际上与我们所说的Canary Deployment
最接近。
简而言之,Canary Deployment
(也称为Canary Release
)是一种允许您降低在生产中引入可能已损坏的新软件版本的潜在风险的技术。通过将更改仅部署到一小部分服务器(在Kubernetes中可能只是一个pod),然后再将其部署到整个基础架构并使每个人都可以使用它来实现。
如果您决定如果要使用新的映像版本部署一个新的Pod,您已经可以进行3个副本的部署,那么只有25%的流量会路由到新的Pod。确定测试成功后,您可以继续将更新发布到其他Pod。
Here,您可以找到一篇文章,详细描述如何在Kubernetes上执行这种部署。
这实际上与@Malathi已经提到的Blue-Green Deployment
类似,并且有很多共同点。