1. 程式人生 > >k8s基本物件概念

k8s基本物件概念

基本物件

    Pod

        Pod是最小部署單元,一個Pod由一個或多個容器組成,Pod中容器共享儲存和網路,在同一臺Docker主機上執行。

    Service

        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 selectore支援不同,RS支援新的基於集合的標籤,RC僅支援基於等式的標籤。

    Deployment

        Deployment是一個更高層次的API物件,他管理ReplicaSets和Pod,並提供宣告式更新等功能。

        官方建議使用Deployment管理ReplicaSets,而不是直接使用ReplicaSets,這就意味著可能永遠不需要直接操作ReplicaSet物件。

    StatefulSet

        StatefulSet適合永續性的應用程式,有唯一的網路識別符號(IP),持久儲存,有序的部署、擴充套件、刪除和滾動更新。

    DaemonSet

        DaemonSet確保所有(或一些)節點運行同一個Pod。當節點加入kubernetes叢集中,Pod會被排程到該節點上執行,當節點從叢集中移除時,DaemonSet的Pod會被刪除。刪除DaemonSet會清理它所有建立的Pod。

    Job

        一次性任務,執行完成後Pod銷燬,不再重新啟動新容器。還可以任務定時執行。