Kubernetes吊舱回滚并重新启动

时间:2020-07-15 10:51:09

标签: kubernetes kubectl kubernetes-pod

enter image description here部署资源对象在我们的集群中仍然不受支持并且未启用。 我们正在使用Pod资源对象Yaml文件。如下所示:

apiVersion: v1
kind: Pod
metadata:
  name: sample-test
  namespace: default
spec:
  automountServiceAccountToken: false
  containers:

我已经探索了补丁,并为Pod放置了api(Kubectl补丁并替换了)-它会更新到新的映像版本,并重新启动pod。

我需要以下帮助:

  1. 当映像版本相同时,它将不会更新,并且pod也不会重新启动。 我如何实现Pod重新启动,是否为此或任何替代方法有任何API 方法。因为我的Pod也引用configmap和secret。我之后 对机密进行更改,我想重新启动pod,以便可以更新 值。
  2. 假设使用新容器映像应用的修补程序失败并且状态失败,我想回滚到以前的版本,如何在不使用部署的情况下使用独立Pod实现此目的。有其他替代方法吗?

1 个答案:

答案 0 :(得分:0)

按照您的方案获得解决方案,可以这样处理:

当映像版本相同时,它将不会更新,并且pod也不会重新启动。我如何实现Pod重新启动,是否为此有任何API或其他替代方法?因为我的Pod也引用configmap和secret。对机密进行更改后,我想重新启动pod,以便它可以获取更新的值

每次创建一个新的secret / configmap并更新pod yaml以使用新的configmap / secret而不是旧名称。

假设使用新容器映像应用的修补程序失败并且状态失败,我想回滚到以前的版本,如何在不使用部署的情况下使用独立Pod实现此目的。是否有其他替代方法

在更新Pod之前,请像这样使用kubectl获取当前的Pod yaml,

kubectl get pod <pod-name> -o yaml -n <namespace>

获取Yaml后,生成新的pod Yaml并应用它。万一发生故障,请清理创建的新资源(configmaps和密钥),并应用旧版本的pod来实现回滚