如何 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>

阅读更多信息: