Kubernetes(1)Kubernetes即K8s簡介
Kubernetes(2)Kubernetes集群環境規劃
一、Kubernetes的主要功能
(1)自我修復:
一旦某個容器崩潰,能夠再1秒中左右迅速啟動新的容器
(2)彈性伸縮
可以根據需要,自動對集群中正在運行的容器數量進行調整
(3)服務發現
服務可以通過自動發現的形式找到它所依賴的服務
(4)負載均衡
如果一個服務啟動了多個容器,能夠自動實作請求的負載均衡
(5)版本回退
如果發現新發布的程式版本有問題,可以立即回退到原來的版本
(6)存盤編排
可以根據容器自身的需求自動創建存盤器

二、Kubernetes的組件
(1)控制節點(master):集群的控制平面,負責集群的決策
1)ApiServer:資源操作的唯一入口,接受用戶輸入命令、操作認證、授權、API注冊和發現等機制
2)Scheduler:負責集群資源調度,按照預定的調度策略將Pod調度到回應的node節點上
3)ControllerManager:負責維護集群的狀態,比如程式部署安排、故障檢測、自動擴展、滾動更新等
4)Etcd:負責存盤集群中各種資源物件的資訊
(2)作業節點(node):集群的資料平面,負責為容器提供運行環境
1)Kubelet:負責維護容器的生命周期,即通過控制docker,來創建、更新、銷毀容器
2)KubeProxy:負責提供集群內部的服務發現和負載均衡
3)Docker:負責節點上容器的各種操作

(3)以部署nginx服務說明Kubernetes系統各個組件呼叫關系
1)一旦Kubernetes環境啟動之后,master和node節點都會將自身的資訊存盤到etcd資料庫中
2)一個nginx服務的安裝請求會首先被發送到master節點的APIServer組件
3)APIServer組件會呼叫scheduler組件來決定到底應該把這個服務安裝到哪個node節點上,此時,他會從etcd中讀取各個node節點的資訊,然后按照一定的演算法進行調度,并將結果告知APIServer
4)APIServer呼叫controller-manager去調度Node節點安裝nginx服務
5)kubelet接受到指令后,會通知docker,然后由docker來啟動一個nginx的pod,pod是Kubernetes的最小操作單元,容器必須跑在pod中
6)一個nginx服務就運行了,如果需要訪問nginx,就需要通過kube-proxy來對pod產生訪問的代理,這樣,外界用戶就可以訪問集群中的nginx服務了
三、Kubernetes中概念
(1)Master
集群控制節點,每個集群需要至少一個master節點負責集群的管控
(2)Node
作業負載節點,由master分配容器到這些node作業接點水行,然后node節點上的docker負責容器的運行
(3)Pod
Kubernetes的最小控制單元,容器都是運行在pod中的,一個pod中可以有一個或者多個容器
(4)Controller
控制器,通過它來實作對pod的管理,比如啟動pod,停止pod,伸縮pod的數量等等
(5)Service
pod對外服務的統一入口,下面可以維護同一類的多個pod
(6)Label
標簽,用于對pod進行分類,同一類pod會擁有相同的標簽
(7)Namespace
命名空間,用例隔離pod的運行環境
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/353337.html
標籤:其他
下一篇:大規模路由綜合實驗
