kubectl 并没有 restart pod 这个命令, 但有时候我们希望重启pod来加载配置,下面就介绍pod重启的方法。

– kubectl rollout restart(推荐方法)

kubectl rollout restart deployment <deployment_name> -n <namespace>

并不会一次性kill pod,会重建这个deployment下的 pod,和滚动升级类似。

– kubectl scale

kubectl scale deployment <deployment name> -n <namespace> --replicas=0 kubectl scale deployment <deployment name> -n <namespace> --replicas=1

先降成0,再改回原来的副本数,但会中断服务。

– kubectl delete

kubectl delete pod <pod_name> -n <namespace>

– kubectl replace

kubectl get pod <pod_name> -n <namespace> -o yaml | kubectl replace --force -f -

通过更新pod从而触发滚动升级

– kubectl set env

kubectl set env deployment <deployment name> -n <namespace> DEPLOY_DATE="$(date)"

其实也是更新pod spec来触发滚动升级

– kill 1

kubectl exec -it <pod_name> -c <container_name> --/bin/sh -c "kill 1"

通过kill 主进程为1 来实现更新

最后修改日期: 2023年12月24日