2017-03-16 32 views
0

(我是(所有的事情考慮)一個Kubernetes新秀。)有沒有導致豆莢啓動上傳部署的概念?

我知道kubectl create -f myDeployment.yaml將派出我的部署規範關到集羣被具體化,如果說開始其所含的莢模板的三個副本,然後Kubernetes將着手啓動三個豆莢。

我想知道:有沒有Kubernetes概念或以某種方式上傳部署日後參考,然後實踐「激活」它以後呢?也許可以說,將replicas從0改爲某些正數?如果這不是一個有意義的問題,或者這不是正確的思考方式,我也會很欣賞指針。

+2

你在做什麼將按預期工作,似乎並不反對Kubernetes的方式。但是,您能否更詳細地描述您的使用案例?爲什麼不直接使用replicas = 3創建部署? – iamnat

+0

感謝您的評論。我從第一次實現部署並「激活」它的立場出發。這個想法是:創建一個部署,然後證明它,然後非常簡單地激活它。 –

回答

2

我不認爲你的想法會與Kubernetes工作。首先,除了像前面提到的那樣設置replicas0之外,沒有辦法「暫停」Deployment或任何其他ReplicationController或ReplicaSet。

下一個問題是,是,YAML,你會得到你所創建的API服務器是不一樣的。控制器管理器添加一些註釋,默認值和狀態。因此,很難以這種方式驗證部署。

IMO一種更好的方式來驗證部署是將它們添加到版本控制系統和同行評審的YAML文件。然後你可以創建或更新與kubectl apply -f myDeployment.yaml apiserver。如果部署在語法上是錯誤的,那麼kubectl會抱怨它,並且您可以相應地修補部署。這也簡化了部署的更新過程。

+0

非常感謝您的回覆。那麼我是否正確地假設這裏的一般心態是'kubectl apply' /'kubectl create'不僅僅是將東西存儲到存儲中,而且也開始運行(和計費:-))?與Docker不同的是,Docker有(通常)創建命令然後命令「啓動」的東西? –

0

部署可以被暫停,請參閱https://kubernetes.io/docs/user-guide/deployments/#pausing-and-resuming-a-deployment,或看到的信息與kubectl rollout pause -h

您可以調整暫停部署的副本,但莢模板更改不會觸發部署。如果部署在部署中途暫停,那麼在恢復之前它不會繼續。

+0

感謝您的評論。但是當部署是'創建'時,它立即開始「運行」,對吧?也就是說,Kubernetes _immediately_開始嘗試將系統的狀態引入部署狀態規範? –

相關問題