Kubernetes系統架構與元件功能

共享存儲主要儲存叢集狀态
Etcd分布式鍵值存儲
Master元件:
1. Kube-apiserver
Kubernetes API,叢集的統一入口,各元件協調者,以HTTP API提供接口服務。所有對象資源的增删改查和監聽操作都交給APIServer處理後再送出給Etcd存儲。
2. Kube-controller-manager
處理叢集中正常背景任務,一個資源對應一個控制器,而ControllerManager就是負責管理這些控制器的。
3. Kube-scheduler
根據排程算法為新建立的Pod選擇一個Node節點。
Node元件:
1. Kubelet
Kubelet是Master在Node節點上的Agent,管理本機運作容器的生命周期,比如建立容器、Pod挂載資料卷、下載下傳secret、擷取容器和節點狀态等工作。Kubelet将每個Pod轉換成一組容器。
2. Kube-proxy
在Node節點上實作Pod網絡代理,維護網絡規則和四層負載均衡工作。
3. docker或rocket/rkt
運作容器。
第三方服務:
Etcd
分布式鍵值存儲系統。用于保持叢集狀态,比如Pod、Service等對象資訊。
叢集部署
- 環境規劃
- 安裝Docker
- 自簽TLS證書
- 部署Etcd叢集
- 部署Flannel網絡
- 建立Node節點kubeconfig檔案
- 擷取K8S二進制包
- 運作Master元件
- 運作Node元件
- 查詢叢集狀态
- 啟動一個測試示例
- 部署Web UI(Dashboard)