Kubernetes 限制部署到一个实例

Kubernetes Limit Deployment to one instance

我在 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 文件

中进行配置