如何在 kubernetes 中使用 yaml 文件删除并重新创建 pod

问题描述 投票:0回答:3

我有一个 yaml 文件,可以用来创建 pod。我正在使用仪表板,因此我只需选择 yaml 文件,它就会创建 Pod。 Pod 将启动容器,容器将运行 docker 镜像。现在假设我对 docker 映像进行了一些更改并想要再次部署它。为此,我将删除已经运行的 pod 并上传 yaml 文件。

是否有任何可用的关键字可以删除已经运行的 pod/部署并重新创建它,而不是再次删除和上传 yaml 文件。

谢谢

deployment kubernetes
3个回答
3
投票

如果您使用它进行开发,您可能会侥幸逃脱

containers:
- image: my/app:dev
  imagePullPolicy: Always

有了这个,每当重新创建你的 Pod 时,你都会获得新的镜像版本。

也就是说,您需要使用 Deployment 之类的工具来自动重新启动 pod,然后您可以

kubectl delete my-pod-xxxxx-yyy
擦除旧的 pod,并在几秒钟内获得最新的最新 pod。

对于产品,请不要这样做。只需使用标记的图像并使用

kubectl apply -f my.yaml
或最好使用 Helm 之类的东西将更改后的图像应用到您的部署(但这对于初学者来说是更复杂的主题)


2
投票

我不记得第一次看到这个方法的 StackOverflow 问题,但又出现了:

kubectl --namespace thenamespace get pod thepod -o yaml | kubectl replace --save-config -f -

您可以使用所有 k8s 资源来做到这一点。


0
投票

kubectl 替换 --force -f podfile.yaml

© www.soinside.com 2019 - 2024. All rights reserved.