如何 kubectl 重新应用部署
How to kubectl re-apply deployment
我想更新我的广告连播,因为有一个新图像上传到 docker 注册表,带有 latest
标签。
我目前正在这样做:
kubectl delete -f deployment.yaml
kubectl apply -f deployment.yaml
如果我这样做:
kubectl apply -f deployment.yaml
它说我的部署没有改变。
但是,我想让我的服务存活一秒钟。有没有办法让我做类似下面的事情?
kubectl re-apply -f deployment.yaml
您可以只删除 POD 一次并重新启动 POD,这样它就会更改映像并从 docker 注册表中提取新版本。
但是,请确保 imagePullPolicy
在您的 deployment.yaml
中设置为 always
否则您需要将一个次要字段更新为 deployment.yaml
并将 imagePullPolicy
保持为 always 在这种情况下应用将更改部署。
示例:
spec:
containers:
- name: test
image: image:latest
ports:
- containerPort: 80
imagePullPolicy: Always
imagePullSecrets:
- name: docker-secret
选项 2
kubectl rollout restart deployment/<deployment-name>
阅读更多信息:
我想更新我的广告连播,因为有一个新图像上传到 docker 注册表,带有 latest
标签。
我目前正在这样做:
kubectl delete -f deployment.yaml
kubectl apply -f deployment.yaml
如果我这样做:
kubectl apply -f deployment.yaml
它说我的部署没有改变。
但是,我想让我的服务存活一秒钟。有没有办法让我做类似下面的事情?
kubectl re-apply -f deployment.yaml
您可以只删除 POD 一次并重新启动 POD,这样它就会更改映像并从 docker 注册表中提取新版本。
但是,请确保 imagePullPolicy
在您的 deployment.yaml
否则您需要将一个次要字段更新为 deployment.yaml
并将 imagePullPolicy
保持为 always 在这种情况下应用将更改部署。
示例:
spec:
containers:
- name: test
image: image:latest
ports:
- containerPort: 80
imagePullPolicy: Always
imagePullSecrets:
- name: docker-secret
选项 2
kubectl rollout restart deployment/<deployment-name>
阅读更多信息: