是否存在上传部署而不会导致pod启动的概念?

时间:2017-03-16 23:55:11

标签: kubernetes

(我认为所有事情都是Kubernetes的新秀。)

我知道kubectl create -f myDeployment.yaml会将我的部署规范发送到要实现的集群,如果它说要启动其包含的pod模板的三个副本,那么Kubernetes将开始启动三个pod。

我想知道:是否存在Kubernetes概念或实践以某种方式上传部署以供稍后参考,然后再“激活”它?也许比如说,将replicas从零改为某个正数?如果这不是一个有意义的问题,或者这不是思考事物的正确方法,我也很感激指点。

2 个答案:

答案 0 :(得分:2)

我认为你的想法不会与Kubernetes合作。首先,除了将replicas设置为0之外,没有办法“暂停”部署或任何其他ReplicationController或ReplicaSet,如上所述。

下一个问题是,您从apiserver获得的YAML与您创建的不同。控制器管理器添加一些注释,默认值和状态。因此很难以这种方式验证部署。

IMO验证部署的更好方法是将它们添加到版本控制系统并对其审查YAML文件。然后,您可以使用kubectl apply -f myDeployment.yaml在apiserver上创建或更新。如果部署在语法方面是错误的,那么kubectl会抱怨它,您可以相应地修补部署。这也简化了部署的更新过程。

答案 1 :(得分:0)

部署可以暂停,请参阅https://kubernetes.io/docs/user-guide/deployments/#pausing-and-resuming-a-deployment,或查看kubectl rollout pause -h的信息。

您可以调整已暂停部署的副本,但对pod模板的更改不会触发推出。如果部署在推出过程中暂停,则在您恢复之前它将不会继续。