我对kubernetes非常陌生,现在我想做的就是重新启动我的集群,让它运行一个更新的dockerfile。顺便说一下,我在google-cloud-platform中运行kubernetes。
发布于 2017-09-18 01:09:38
您可以使用rolling update mechanism在不中断的情况下更新服务,这将一次更新一个pod,直到所需的状态匹配为止,并且您的服务仍在正常运行。当然,我们必须更新pod中的容器,以保护我们的数据并获得最新的功能。Kubernetes通过修改部署和管理部署,使您的应用程序更容易推出更新。现在是主要的更新时间,我们将使用简单的方法来调整它们。
假设您有前端、身份验证和后端部署,并且身份验证或更新版本发生了变化,因此您希望更新身份验证部署配置文件,在构建新的docker镜像并简单地更改.yaml文件中的镜像版本后,可以在该文件中将其各自的身份验证容器镜像更改为更新版本,并应用如下所示
$ kubectl apply -f deployments/auth.yaml使用deployment describe命令检查是否成功,您可以看到滚动更新策略,并确定正确数量的pod始终可用。它使用新的副本集来确保我们运行的是最新版本的auth容器。
$ kubectl describe deployments auth滚动更新完成后,我们可以查看auth服务的运行pod。
$ kubectl get pods检查它正在运行的时间范围。新版本的auth pod取代了以前的版本。再次检查新auth pod的id并进行验证。以这种方式更新部署使我们可以使用一种干净的声明式方法来推出对我们的应用程序的更改,无论您是否有单个或数千个pods在运行。
发布于 2019-07-08 22:16:04
1.15版本的kubectl应该包含kubectl rollout restart (根据这个评论https://github.com/kubernetes/kubernetes/issues/33664#issuecomment-497242094)
https://stackoverflow.com/questions/46266006
复制相似问题