Kubernetes基本物件概念筆記
Kubernetes基本物件概念
pod:是最小部署單元,一個pod有一個或多個容器組成,pod中容器共享儲存和網路,在同一臺docker主機上執行。
Service:一個應用服務抽象,定義了pod邏輯集合和訪問這個pod集合的策略。service代理pod集合對外表現是為一個訪問入口,分配一個叢集IP地址,來自這個ip的請求將負載均衡轉發後端pod中的容器。Service通過Lable Selector選擇一組pod提供服務。
Volume:資料卷,共享pod中容器使用的資料。
Namespace:名稱空間將物件邏輯上分配到不同Namespace,可以是不同的專案、使用者等區分
管理,並設定控制策略,從而實現多租戶。
Lable:標籤用於區分物件(比如pod、service),鍵/值對存在,每個物件可以有多個標籤,通過標籤關聯物件。
Replicaset:下一代Replication Controller。確保任何給定時間指定的pod副本數量。並提供宣告式更新功能。RC與RS唯一區別就是lable selector支援不同,RS支援新的基於機會的標籤,RC僅支援基於等式的標籤。
Deployment:是一個更高層次的API物件,它管理ReplicaSets和Pod,並提供宣告式更新等功能。官方建議使用Deployment管理ReplicaSets,而不是直接使用ReplicaSets,意味著永遠不需要直接操作ReplicaSet物件。
StatefulSet:適合永續性的應用程式,有唯一的網路識別符號(IP),持久儲存,有序的部署、擴充套件、刪除和滾動更新。
DaemonSet:確保所有(或一些)節點運行同一個Pod,當節點加入Kebernetes叢集中,Pod會被排程到該節點上執行,當節點從叢集中移除時,DaemonSet的Pod會被刪除,刪除DaemonSet會清理它所有建立的Pod.
Job:一次性任務,執行完成後Pod銷燬,不再重新啟動新容器,還可以任務定時執行。