kubernetes概念之四:Replication Controller&Replica Sets&Deployments

百聯達發表於2017-05-28
一:Replication Controller

RC是kubernetes的核心概念之一。它定義了一個期望的場景即宣告某種Pod的副本數量在任意時候都要符合某個預期值。 它由以下幾個部分組成:
1.Pod期待的副本數(replicas)
2.用於篩選目標Pod的Label Selector
3.當Pod的副本數量小於預期數量的時候,用於建立新Pod的Pod模板。

當我們定義了一個RC並提及到kubernetes叢集中以後,Master節點上的Controller Manager元件就會得到通知,定期巡檢系統中當前存活的目標Pod,並確保目標Pod例項的數量剛好等於RC的期望值。透過RC,Kubernetes實現了使用者應用叢集的高可用性,並且大大減少系統管理員在傳統IT環境中需要完成的許多手工運維工作。

二:Replica Sets

Replica Sets是下一代的RC,它與RC當前存在的唯一區別是,它支援基於集合的Label selector; 而RC只支援基於等式的Label Selector.
kubectl命令列工具適用於RC的絕大部分命令都同樣適用於Replica Sets. 當前我們很少單獨使用Replica Set, 它主要被Deployment 這個更高層的資源物件所使用,從而形成一整套Pod建立,刪除更新的編排機制。

三:Deployments

Deployments透過Replica Sets實現了對RC的升級。可以隨時知道當前Pod部署的進度。典型使用場景有:

1.建立一個Deployment物件來生成對應的Replica Set並完成Pod副本的建立過程。
2.檢查Deployment的狀態來看部署動作是否完成(Pod副本數量是否達到預期)
3.更新Deployment已建立新的Pod
4.如果當前Deployment不穩定,則回滾到一個早先的Deployment版本。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28624388/viewspace-2140018/,如需轉載,請註明出處,否則將追究法律責任。

相關文章