如何解决Kubernetes 限制部署到一个实例
我在 deployment.yaml
中配置了一个 Kubernetes 部署,它只有 1 个副本。副本正在运行一个容器,该容器正在运行一个进程,非常重要确保没有任何时刻该进程的两个实例正在运行。
部署/重新部署是我无法控制的,只要规范发生变化,kubectl apply -f deployment.yaml
就会发生。
这不太好,因为 k8s 只有在新部署启动并运行后才会停止部署。
如果我可以控制它的部署方式,我会先执行 kubectl delete -f deployment.yaml
,然后执行 kubectl apply -f deployment.yaml
。但是,我无法控制它。
问题:如何在我的部署规范中配置它?即确保没有任何时刻有进程的两个实例正在运行。
谢谢!
解决方法
默认部署策略是rollingUpdate,它根据maxSurge 和maxUnavailable 值在旧Pod 关闭之前启动新Pod。
改为使用重新创建策略。它将关闭旧的 pod,然后打开新的 pod。您可以在您的 deployment.yaml 文件中进行配置
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。