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
来实现更新