日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

K8S架構原理及其工作流程

K8S

容器編排系統

容器編排系統需要滿足的條件:

  1. 服務注冊,服務發現
  2. 負載均衡
  3. 配置、存儲管理
  4. 健康檢查
  5. 自動擴縮容
  6. 零宕機

K8S整體架構圖

 

K8S架構原理及其工作流程

K8S整體架構

Kubernetes采用主從分布式架構,包括Master(主節點)、Worker(從節點或工作節點),以及客戶端命令行工具kubectl和其它附加項。

K8S Master

 

K8S架構原理及其工作流程

Master架構圖

etcd保存了整個集群的狀態,CoreOS提供(用戶期望狀態)。K/V存儲,只能存儲Api Server中支持的數據范式存儲;

Api Server提供了資源操作的唯一入口,并提供認證、授權、訪問控制、API注冊和發現等機制;

controller負責維護集群的狀態,比如故障檢測、自動擴展、滾動更新等(確保用戶期望狀態與實際運行狀態一致);

scheduler負責資源的調度,按照預定的調度策略將Pod調度到相應的機器上,pod是調度的最小單位;

K8S Node

 

K8S架構原理及其工作流程

Node架構圖

kubelet:會監控Api Server上的資源變動,若變動與自己有關系,kublet就去執行任務;定期向master會報節點資源使用情況。

kube-proxy:實現service的抽象,為一組pod抽象的服務提供統一接口并提供負載均衡。

POD創建過程

 

K8S架構原理及其工作流程

POD創建時序圖

1、用戶提交創建POD請求

2、API Server 處理用戶請求,存儲Pod數據到Etcd

3、Schedule通過和 API Server的監聽機制,查看到新的pod,嘗試為Pod綁定Node

4、過濾主機:調度器用一組規則過濾掉不符合要求的主機,比如Pod指定了所需要的資源,那么就要過濾掉資源不夠的主機

5、主機打分:對第一步篩選出的符合要求的主機進行打分,在此階段,調度器會考慮一些整體優化策略,比如把一個Replication Controller的副本分布到不同的主機上,使用最低負載的主機等

6、選擇主機:選擇得分最高的主機,進行binding操作,結果存儲到Etcd中

7、kubelet根據調度結果執行Pod創建操作:綁定成功后,會啟動container, Docker run, scheduler會調用API Server的API在etcd中創建一個bound pod對象,描述在一個工作節點上綁定運行的所有pod信息。運行在每個工作節點上的kubelet也會定期與etcd同步bound pod信息,一旦發現應該在該工作節點上運行的bound pod對象沒有更新,則調用Docker API創建并啟動pod內的容器

8、POD創建完成

K8S各組件工作流程

 

K8S架構原理及其工作流程

工作流程

①運維人員向kube-apiserver發出指令(我想干什么,我期望事情是什么狀態)

②api響應命令,通過一系列認證授權,把pod數據存儲到etcd,創建deployment資源并初始化。(期望狀態)

③controller通過list-watch機制,監測發現新的deployment,將該資源加入到內部工作隊列,發現該資源沒有關聯的pod和replicaset,啟用deployment controller創建replicaset資源,再啟用replicaset controller創建pod。

④所有controller被創建完成后.將deployment,replicaset,pod資源更新存儲到etcd。

⑤scheduler通過list-watch機制,監測發現新的pod,經過主機過濾、主機打分規則,將pod綁定(binding)到合適的主機。

⑥將綁定結果存儲到etcd。

⑦kubelet每隔 20s(可以自定義)向apiserver通過NodeName 獲取自身Node上所要運行的pod清單.通過與自己的內部緩存進行比較,新增加pod。

⑧kubelet創建pod。

⑨kube-proxy為新創建的pod注冊動態DNS到CoreOS。給pod的service添加iptables/ipvs規則,用于服務發現和負載均衡。

⑩controller通過control loop(控制循環)將當前pod狀態與用戶所期望的狀態做對比,如果當前狀態與用戶期望狀態不同,則controller會將pod修改為用戶期望狀態,實在不行會將此pod刪掉,然后重新創建pod。

后記

本文是對K8S架構原理及其工作流程的一個匯總,可能會不好理解,但是在學習K8S過程中,這個是跳不過去的,讓我們一起努力吧!

分享到:
標簽:架構 K8S
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定