k8s基礎概念

Node

node作為集群中的工作節點,可以是物理機或虛擬機,node上管理著k8s的最小單元pod。Node上運行著Kubernetes的Kubelet、kube-proxy服務進程,這些服務進程負責Pod的創建、啟動、監控、重啟、銷毀、以及實現軟件模式的負載均衡。

查看node信息:

kubectl describe node

PID命名空間:Pod中的不同應用程序可以看到其他應用程序的進程ID;

網絡命名空間:Pod中的多個容器能夠訪問同一個IP和端口范圍;

IPC命名空間:Pod中的多個容器能夠使用SystemV IPC或POSIX消息隊列進行通信;

UTS命名空間:Pod中的多個容器共享一個主機名;

Volumes(共享存儲卷):Pod中的各個容器可以訪問在Pod級別定義的Volumes;


pod

pod是k8s上最小的操作單元,與我們熟知的docker容器差不多概念。多數情況下,一個pod對應一個docker容器。當然一個pod也可以存在多個容器。每個pod對應一個podIP,pod中的容器可以通過橋接的方式進行網絡互連。k8s集群架構圖如下:


一個pod中的容器共享資源,共享的資源如下:

PID命名空間:Pod中的不同應用程序可以看到其他應用程序的進程ID;

網絡命名空間:Pod中的多個容器能夠訪問同一個IP和端口范圍;

IPC命名空間:Pod中的多個容器能夠使用SystemV IPC或POSIX消息隊列進行通信;

UTS命名空間:Pod中的多個容器共享一個主機名;

Volumes(共享存儲卷):Pod中的各個容器可以訪問在Pod級別定義的Volumes;??

pod是通過Replication Controller管理生命周期的,定義模板之后,調度到一個node上運行,容器運行結束,pod就銷毀了。



service

上面講到,k8s中會分配pod一個IP,當pod銷毀后,IP地址也會消失。因此,一個pod對應的服務的IP會是動態變化的。

因此,k8s利用一個service作為一組相同服務的pod對外提供的接口。Service作用于哪些Pod是通過Label Selector來定義的。



Label

label一K/V結構附加在資源對象上,,如Pod、Service、RC、Node等,以識別這些對象,管理關聯關系等,如Service和Pod的關聯關系。



RC(副本控制器)

目標Pod的定義;

目標Pod需要運行的副本數量;

要監控的目標Pod標簽(Lable);

Kubernetes通過RC中定義的Lable篩選出對應的Pod實例,并實時監控其狀態和數量,如果實例數量少于定義的副本數量(Replicas),則會根據RC中定義的Pod模板來創建一個新的Pod,然后將此Pod調度到合適的Node上啟動運行,直到Pod實例數量達到預定目標。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容