如何在kubernetes中滚动更新部署?
我用“最新”这个标签。当我更新图像时,新图像仍然是“最新的”。当我“kubectl set image deployments/test test=xxx:latest”时,什么都没有发生。我该怎么办?滚动更新取决于docker图像标签。如果在部署中使用如何在kubernetes中滚动更新部署?,kubernetes,Kubernetes,我用“最新”这个标签。当我更新图像时,新图像仍然是“最新的”。当我“kubectl set image deployments/test test=xxx:latest”时,什么都没有发生。我该怎么办?滚动更新取决于docker图像标签。如果在部署中使用latest标记,则需要使用新版本剪切新映像 如果始终使用latest标记,部署资源无法确定映像是否已更改。就k8s而言,您已经运行了一个带有标签latest的映像,因此它没有任何作用 因此,强烈建议不要在部署时使用最新版本。如果您正确地设置do
latest
标记,则需要使用新版本剪切新映像
如果始终使用latest
标记,部署资源无法确定映像是否已更改。就k8s而言,您已经运行了一个带有标签latest
的映像,因此它没有任何作用
因此,强烈建议不要在部署时使用
最新版本
。如果您正确地设置docker图像的版本,您将有一个更轻松的时间。滚动更新取决于docker图像标记。如果在部署中使用latest
标记,则需要使用新版本剪切新映像
如果始终使用latest
标记,部署资源无法确定映像是否已更改。就k8s而言,您已经运行了一个带有标签latest
的映像,因此它没有任何作用
因此,强烈建议不要在部署时使用
最新版本
。如果您正确地设置docker图像的版本,您将有一个更轻松的时间。当更改模板下的PodTemplateSpec时,始终会触发RollingUpdate
在使用:latest
标记时,不建议使用imagePullPolicy:Always
和每次图像调整都会更改的标签时,该标记仍然可以工作。像这样的事情:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test
spec:
replicas: 1
template:
metadata:
labels:
app: test
spec:
containers:
- name: test
image: xxx:latest
ports:
- containerPort: 80
imagePullPolicy: Always
imagePullSecrets:
- name: aaaa
更改template
下的PodTemplateSpec时,始终会触发RollingUpdate
在使用:latest
标记时,不建议使用imagePullPolicy:Always
和每次图像调整都会更改的标签时,该标记仍然可以工作。像这样的事情:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test
spec:
replicas: 1
template:
metadata:
labels:
app: test
spec:
containers:
- name: test
image: xxx:latest
ports:
- containerPort: 80
imagePullPolicy: Always
imagePullSecrets:
- name: aaaa
您是从本地docker映像还是从存储库中提取映像?你能尝试用其他版本更新图像吗?它仍然没有改变任何东西吗?可能的重复您是从本地docker图像还是从存储库中提取图像?你能尝试用其他版本更新图像吗?它仍然没有改变什么吗?可能是