有没有办法告诉 kubernetes 更新你的容器?
Is there a way to tell kubernetes to update your containers?
我有一个 kubernetes 集群,我想知道如何(最佳实践)更新容器。我知道这个想法是拆除旧容器并安装新容器,但是有没有我可以使用的单层容器,我是否必须删除复制控制器或 pod,然后启动新的(pods 或复制控制器)?有了这个,我正在使用一个自托管的私有库,我知道我必须从 Dockerfile 构建它并推送到它,我可以使用 gulp(或任何其他构建工具)自动化,我可以自动化 kubernetes update/tear上下?
发现他们在 Kubernetes 文档中提到更新的地方:https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/replication-controller.md#rolling-updates。希望它更加自动化,但它确实有效。
编辑 1
为了实现自动化,我发现 https://www.npmjs.com/package/node-kubernetes-client 因为我已经使用节点进程自动化了其余的构建和部署,所以这会非常有效。
Kubectl 可以为您自动化滚动更新的过程。在此处查看文档:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/kubectl_rolling-update.md
现有复制控制器 foo
运行 Docker 映像 bar:1.0
到映像 bar:2.0
的滚动更新可以像 运行
kubectl rolling-update foo --image=bar:2.0
.
OpenShift Origin 项目 (https://github.com/openshift/origin) 运行嵌入式 Kubernetes 集群,但如果您不想推出自己的解决方案,它会在您的集群之上提供自动化构建和部署工作流程。
我建议看这里的例子:
https://github.com/openshift/origin/tree/master/examples/sample-app
未来一些构建和部署挂钩可能会向上游移动到 Kubernetes 项目中,但这将作为一个很好的例子,说明如何在 Kubernetes 之上构建部署解决方案。
我有一个 kubernetes 集群,我想知道如何(最佳实践)更新容器。我知道这个想法是拆除旧容器并安装新容器,但是有没有我可以使用的单层容器,我是否必须删除复制控制器或 pod,然后启动新的(pods 或复制控制器)?有了这个,我正在使用一个自托管的私有库,我知道我必须从 Dockerfile 构建它并推送到它,我可以使用 gulp(或任何其他构建工具)自动化,我可以自动化 kubernetes update/tear上下?
发现他们在 Kubernetes 文档中提到更新的地方:https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/replication-controller.md#rolling-updates。希望它更加自动化,但它确实有效。
编辑 1
为了实现自动化,我发现 https://www.npmjs.com/package/node-kubernetes-client 因为我已经使用节点进程自动化了其余的构建和部署,所以这会非常有效。
Kubectl 可以为您自动化滚动更新的过程。在此处查看文档: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/kubectl_rolling-update.md
现有复制控制器 foo
运行 Docker 映像 bar:1.0
到映像 bar:2.0
的滚动更新可以像 运行
kubectl rolling-update foo --image=bar:2.0
.
OpenShift Origin 项目 (https://github.com/openshift/origin) 运行嵌入式 Kubernetes 集群,但如果您不想推出自己的解决方案,它会在您的集群之上提供自动化构建和部署工作流程。
我建议看这里的例子: https://github.com/openshift/origin/tree/master/examples/sample-app
未来一些构建和部署挂钩可能会向上游移动到 Kubernetes 项目中,但这将作为一个很好的例子,说明如何在 Kubernetes 之上构建部署解决方案。