Kubernetes概念之RC

感受本身浪費了一年的時間,種一棵樹最好的時間是十年前,還有就是如今,雖然這顆樹種了又種,種了又種,此次真的要種了......
 
本文經過《Kubernetes權威指南》的概念部分學習總結 

RC(Replication Controller)

RC定義了一個指望的場景,即聲明某種Pod的副本數量在任意時刻都符合某個預期值,RC的定義包括以下:
1)Pod指望的副本數
2)用於篩選目標Pod的Label Selector
3)當Pod的副本數量小於預期的時候,用於建立新的Pod的Pod模板
 
 
當咱們定義了一個RC並提交到Kubernetes集羣中之後,Master節點上的Controller Manager組件就獲得通知,按期巡檢系統中當前存活的目標Pod,並確保目標Pod實例的數量恰好等於此RC的指望值,若是有過多的Pod副本在運行,系統就會停掉一些Pod,不然系統就會再自動建立一些Pod。經過RC,Kubernetes實現了用戶應用集羣的高可用性,並大大減小了系統管理員在傳統IT環境中須要完成的手工運維工做(如主機監控腳本,應用監控腳本,故障恢復腳本)
 

假設場景

1)咱們有一個3個Node節點的集羣,咱們定義了一個RC,在這個RC裏定義了redis-slave這個Pod須要保持兩個副本,如圖:
 
2)假設Node2上的Pod2意外終止了,根據RC定義的replicas數量爲2,Kubernetes將會自動建立並啓動一個新的Pod,以保證整個集羣中始終有兩個redis-slave Pod運行
 
 
3)在運行時,能夠經過修改RC的副本數量,實現Pod的動態縮放(scaling)
 
kubectl scale rc redis-slave --relicas=3

 

注意
1)刪除RC並不會影響已經聽過該RC建立的Pod
2)爲了刪除全部Pod,能夠將RC的replicas設置爲0,而後更新該RC
3)可經過kubectl stop和delete命令一次性刪除RC和RC控制的所有Pod
  

RC的特性與做用

1)在大多數狀況下,咱們經過定義一個RC實現Pod的建立過程以及副本數量的自動控制。
2)RC裏包括完整的Pod定義模板
3)RC裏包括完整的Label Selector機制實現對Pod副本的自動控制
4)經過改變RC裏的Pod副本數量,能夠實現Pod的擴容和縮容功能
5)經過改變RC裏的Pod模板中的鏡像版本,能夠實現Pod的滾動升級功能 
相關文章
相關標籤/搜索