K8S基礎概念

K8S基礎概念

Node

Node作爲集羣中的工作節點,運行真正的應用程序,在Node上Kubernetes管理的最小運行單元是Pod。在每個Node上運行用於啓動和管理Pid的服務Kubelet,並能夠被Master管理。在Node上運行的服務進行包括Kubelet、kube-proxy和docker daemon。

Node信息如下:

  • Node地址:主機的IP地址,或者Node ID。 Node運行狀態:包括Pending、Running、Terminated三種狀態。
    Node
  • Condition(條件):描述Running狀態Node的運行條件,目前只有一種條件----Ready。Ready表示Node處於健康狀態,可以接收從Master發來的創建Pod的指令。
  • Node系統容量:描述Node可用的系統資源,包括CPU、內存數量、最大可調度Pod數量等。
  • 其他:Node的其他信息,包括實例的內核版本號、Kubernetes版本號、Docker版本號、操作系統名稱等。

查看Node信息:

kubectl describe node

Pod

Pod是Kubernetes的最基本操作單元,包含一個或多個緊密相關的容器

一個Pod中的應用容器共享同一組資源,如下所述:

  • PID命名空間:Pod中的不同應用程序可以看到其他應用程序的進程ID;
  • 網絡命名空間:Pod中的多個容器能夠訪問同一個IP和端口範圍;
  • IPC命名空間:Pod中的多個容器能夠使用SystemV IPC或者POSIX消息隊列進行通信;
  • UTS命名空間:Pod中的多個容器共享一個主機名;
  • Volumes(共享存儲卷):Pod中的各個容器可以訪問在Pod級別定義的Volumes。

Label

Label以key/value鍵值對的形式附加到各種對象上,如Pod、Service、RC、Node等。Label定義了這些對象的可識別屬性,用來對它們進行管理和選擇

Replication Controller

Replication Controller是Kubernetes系統中的核心概念,用於定義Pod副本的數量。在Master內,Controller Manager進程通過RC的定義來完成Pod的創建、監控、啓停等操作。

Service

一個Service可以看作一組提供相同服務的Pod的對外訪問接口。Service作用於哪些Pod是通過Label Selector來定義的。

Volume

Volume是Pod中能夠被多個容器訪問的共享目錄。

Namespace

Namespace(命名空間)是Kubernetes系統中的另一個非常重要的概念,通過將系統內部的對象“分配”到不同的Namespace中,形成邏輯上分組的不同項目、小組或用戶組,便於不同的分組在共享使用整個集羣的資源的同時還能被分別管理。

Annotation

Annotation與Label類似,也使用key/value鍵值對的形式進行定義。Label具有嚴格的命名規則,它定義的是Kubernetes對象的元數據(Metadata),並且用於Label Selector。Annotation則是用戶任意定義的“附加”信息,以便於外部工具進行查找。
用Annotation來記錄的信息包括:

  • build信息、release信息、Docker鏡像信息等,例如時間戳、release id號、PR號、鏡像hash值、docker registry地址等;
  • 日誌庫、監控庫、分析庫等資源庫的地址信息;
  • 程序調試工具信息,例如工具名稱、版本號等;
  • 團隊的聯繫信息,例如電話號碼、負責人名稱、網址等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章