【发布时间】:2017-06-03 19:12:16
【问题描述】:
我对 Kubernetes 非常陌生,使用的是 k8s v1.4、Minikube v0.15.0 和 Spotify maven Docker 插件。
我项目的构建过程会创建一个 Docker 镜像,并直接推送到 Minikube 的 Docker 引擎中。
Pod 由我创建的 Deployment 创建(使用副本集),策略设置为 type: RollingUpdate。
我在文档中看到了这一点:
注意:当且仅当 Deployment 的 pod 模板(即 .spec.template)发生更改时才会触发 Deployment。
我正在寻找一种简单的方法/解决方法来自动化流程:
构建触发 > 推送新的 Docker 映像(不更改版本) > 部署将更新 pod > 服务将公开新的 pod。
【问题讨论】:
-
如果你根本不改变镜像,那么没有办法确保你在每个 pod 中获取新镜像,除非你设置
ImagePullPolicy: Always并杀死每个 pod 并进行部署重新创建它。但是,如果您每次都创建一个新的 docker 镜像,那么更新标签也是有意义的。 -
@AnirudhRamanathan 因为我不是每次都创建一个“新”图像,只是更新图像,我将采用第一种方法,所以有一种方法可以自动杀死旧的 pod?
-
ImagePullPolicy: Always不适用于本地图像,因此同时我手动删除具有特定标签的 pod,然后副本集使用更新的图像创建它们。想知道是否有任何方法可以自动完成。
标签: docker kubernetes minikube