k8s-RC副本機制

1、libeness probe的三種檢測機制web

  1. HTTP GET:對容器的IP(指定的端口和路徑)執行HTTP GET請求,收到響應並返回狀態碼不表明錯誤(2xx/3xx),成功
  2. TCP socket:與容器指定端口創建TCP連接,創建連接成功,表示檢測成功
  3. Exec:在容器內執行自定義命令,退出狀態碼是0,檢測成功 

 

2、liveness probe探測機制後端

  1. kubernetes會在容器崩潰或健康檢測失敗時(默認連續3次檢測都失敗,則認爲檢測失敗)經過重啓容器保持運行 
  2. 當容器被強制終止時,會建立一個新的容器(而不是重啓原來的容器)
  3. 探測附加屬性:
    delay(延遲):容器啓動後延遲多久開始監控檢測(務必設置一個合理的延遲時間,不然在容器進程爲徹底運行前,檢測已經失敗,致使容器進入重啓死循環)
    timeout(超時):容器的響應時間,超過設定值則超時
    period(週期):間隔多久進行下一次檢測
    failure(失敗):連續失敗多少次後斷定檢測失敗
  4. 檢測的準確行:僅檢測容器自身進程,(web前段正常,後端故障,重啓前段沒法恢復問題)
  5. 檢測的輕量:資源消耗低、運行時間短(保證容器的輕量的同時不影響容器的運行質量)
  6. 健康檢測重啓pod是經過節點kubectl完成的(若節點故障則沒法恢復)

 

 


4、ReplicationController(簡稱:RC)socket

  1. RC是一種資源,確保他的pod始終運行在指望的狀態(用戶指定的pod數量,即:幾副本狀態)
  2. RC會持續監控正在運行的pod列表
  3. 當RC的pod不管因何種數量發生變化,RC會根據模板新建,或刪除必定數量的pod,已確保pod運行在指望的狀態
  4. 經過RC能夠實現pod的手動/自動伸縮
5、RC的組成
  1. label selector:標籤選擇器,用於肯定RC做用域中有哪些pod(yml文件能夠不指定,默認會根據pod的模板讀取)
  2. replica count:副本數量,指定運行的pod數量 
  3. pod template:pod模板,用於建立新的pod副本

 

 

6、RC的做用域 spa

  1. RC經過做用域管理對應標籤的pod
  2. 修改pod的標籤後,pod將脫離RC的管控,當pod故障時不會從新被調度
  3. 注意:當修改pod的標籤後,對RC自己無影響,他會從新建立出新的pod,直至達到預期狀態 

 

7、使用ReplicaSet(簡稱RS)代替RC進程

  1. ReplicaSet與RC的行爲徹底相同
  2. ReplicaSet能夠僅經過標籤的key匹配pod(RC必須匹配完整的標籤:keyvalue)
  3. 修改ReplicaSet對現有的pod無影響,若想更新RS,能夠刪除現有的pod,RS會更具模板建立新的pod 

 

8、更具表達力的標籤選擇器資源

 

  1. key:標籤的名稱
  2. operator:運算符:多個運算符能夠一塊兒使用,可是必須全部表達式都爲true
    1)In:label的值必須與其中一個指定的values匹配
    2)NotIn:Label的值與指定的全部values都不匹配
    3)Exists:只匹配key部分,使用次運算符時不指定values字段
    4)DoesNotExist:匹配除指定key之外的全部key ,使用次運算符時不指定values字段
  3. values:標籤的值

 

 9、DaemonSet在每一個節點運行一個pod作用域

 

  1. DaemonSet的目的是用來運行系統服務
  2. 確保每一個節點上運行一個pod
  3. 如有人在某一節點刪除了一個pod,那麼DaemonSet會在該節點重建pod
  4. 當新節點加入集羣時,DaemonSet會馬上部署一個新的pod
  5. DaemonSet也能夠只在集羣中指定節點部署pod(由pod模板指定) 
  6. 注意:在集羣中能夠設置節點的屬性爲「不可調用」,可是DaemonSet仍是會在這些節點部署pod,由於DaemonSet不經過調度器進行調度
相關文章
相關標籤/搜索