kubernetes - 在 kubernetes 中扩展/重新启动应用程序的正确方法(副本、部署和 pod 删除)?

标签 kubernetes

我通常通过以下方式重新启动我的应用程序:

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/

相关文章:

docker - 如何从容器内部运行podman?

certificate - 如何撤销 Kubernetes 集群中的签名证书?

docker - 找不到RPI Kubernetes节点上的Traefik返回404页面

jenkins - Jenkins kubernetes 插件在salve build 之前需要等待很长时间,大约15s,为什么?

kubernetes - 建议为Apache kafka的zookeeper和broker使用的批量方法是什么?

azure - 为 Kubernetes 中运行的剩余映射器创建假数据

从 secret 映射时,Kubernetes pod 环境变量未更新

kubernetes - 水平 pods 自动缩放

kubernetes - 带有群集客户端的AMQP(RabbitMQ)发布/订阅

docker - 带有 webpack 的整体 docker 应用程序