我通常通过以下方式重新启动我的应用程序:
kubectl scale deployment my-app --replicas=0
接着是:
kubectl scale deployment my-app --replicas=1
效果很好。我还有另一个正在运行的应用程序,但是当我查看它的副本集时,我看到:
$ kubectl get rs
NAME DESIRED CURRENT READY AGE
another-app 2 2 2 2d
所以要正确重启,我当然需要:
kubectl scale deployment another-app --replicas=0
kubectl scale deployment another-app --replicas=2
但是有没有更好的方法来做到这一点,这样我就不必在缩放/重新启动我的应用程序(可能有 replicas > 1
)之前手动查看副本?
最佳答案
你可以使用 level 重启 pods
kubectl delete pods -l name=myLabel
您可以滚动重启部署的所有 pod,这样您就不会关闭服务
kubectl patch deployment your_deployment_name -p \
"{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}"
在 kubernetes 1.15 版本之后可以
kubectl rollout restart deployment your_deployment_name
关于kubernetes - 在 kubernetes 中扩展/重新启动应用程序的正确方法(副本、部署和 pod 删除)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61769731/