我有一个 yaml 文件,可以用来创建 pod。我正在使用仪表板,因此我只需选择 yaml 文件,它就会创建 Pod。 Pod 将启动容器,容器将运行 docker 镜像。现在假设我对 docker 映像进行了一些更改并想要再次部署它。为此,我将删除已经运行的 pod 并上传 yaml 文件。
是否有任何可用的关键字可以删除已经运行的 pod/部署并重新创建它,而不是再次删除和上传 yaml 文件。
谢谢
如果您使用它进行开发,您可能会侥幸逃脱
containers:
- image: my/app:dev
imagePullPolicy: Always
有了这个,每当重新创建你的 Pod 时,你都会获得新的镜像版本。
也就是说,您需要使用 Deployment 之类的工具来自动重新启动 pod,然后您可以
kubectl delete my-pod-xxxxx-yyy
擦除旧的 pod,并在几秒钟内获得最新的最新 pod。
对于产品,请不要这样做。只需使用标记的图像并使用
kubectl apply -f my.yaml
或最好使用 Helm 之类的东西将更改后的图像应用到您的部署(但这对于初学者来说是更复杂的主题)
我不记得第一次看到这个方法的 StackOverflow 问题,但又出现了:
kubectl --namespace thenamespace get pod thepod -o yaml | kubectl replace --save-config -f -
您可以使用所有 k8s 资源来做到这一点。
kubectl 替换 --force -f podfile.yaml