gpt4 book ai didi

docker - 更新 Kubernetes 中的部署镜像

转载 作者:IT老高 更新时间:2023-10-28 12:46:12 24 4
gpt4 key购买 nike

我对 Kubernetes 非常陌生,使用的是 k8s v1.4、Minikube v0.15.0 和 Spotify maven Docker 插件。
我的项目的构建过程会创建一个Docker镜像,并直接推送到Minikube的Docker引擎中。

Pod 由我创建的 Deployment 创建(使用副本集),策略设置为 type: RollingUpdate

我在文档中看到了这一点:

Note: a Deployment’s rollout is triggered if and only if the Deployment’s pod template (i.e. .spec.template) is changed.


我正在寻找一种简单的方法/解决方法来自动化流程:构建触发 > 推送新的 Docker 镜像(不更改版本) > 部署将更新 pod > 服务将公开新的 pod。

最佳答案

如果不更改容器镜像名称或标签,您只需将应用程序缩放到 0 并返回到原始大小,例如:

kubectl scale --replicas=0 deployment application
kubectl scale --replicas=1 deployment application

正如评论中已经提到的那样,ImagePullPolicy: Always 在您的配置中是必需的。

在更改图像时,我发现这是更新图像最直接的方式

kubectl set image deployment/application app-container=$IMAGE

不更改图像会导致您在出现问题时无能为力。因此,我不建议在开发环境之外使用它。


编辑:小奖励 - 前后保持比例同步可能看起来......喜欢:

replica_spec=$(kubectl get deployment/applicatiom -o jsonpath='{.spec.replicas}')
kubectl scale --replicas=0 deployment application
kubectl scale --replicas=$replica_spec deployment application

干杯

关于docker - 更新 Kubernetes 中的部署镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41735829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com