有没有办法告诉kubernetes更新你的容器?

时间:2015-06-16 15:34:40

标签: automation docker kubernetes

我有一个kubernetes集群,我想知道如何(最佳实践)更新容器。我知道这个想法是拆掉旧容器并换上新容器,但是我可以使用单线程,我是否需要移除复制控制器或容器,然后启动新容器(容器或复制控制器)?有了这个,我使用一个自托管的私有库,我知道我必须从Dockerfile构建并推送到无论如何,我可以使用gulp(或任何其他构建工具)自动化,我可以自动化kubernetes更新/拆除和向上?

3 个答案:

答案 0 :(得分:3)

Kubectl可以自动完成滚动更新的过程。看看这里的文档: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/kubectl_rolling-update.md

将运行Docker镜像foo的现有复制控制器bar:1.0滚动更新到映像bar:2.0可以像运行一样简单 kubectl rolling-update foo --image=bar:2.0

答案 1 :(得分:0)

在Kubernetes文档中找到了更新内容:https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/replication-controller.md#rolling-updates。希望它更加自动化,但它确实有效。

编辑1

为了自动执行此操作,我发现https://www.npmjs.com/package/node-kubernetes-client因为我已经使用节点进程自动完成剩余的构建和部署,所以这将非常有用。

答案 2 :(得分:0)

OpenShift Origin项目(https://github.com/openshift/origin)运行嵌入式Kubernetes集群,但如果您不想推出自己的解决方案,则可以在集群顶部提供自动构建和部署工作流。

我建议在这里查看示例: https://github.com/openshift/origin/tree/master/examples/sample-app

将来有些构建和部署挂钩可能会向上游移动到Kubernetes项目中,但这可以作为如何在Kubernetes之上构建部署解决方案的一个很好的例子。