Kubernetes基本概念和術語

1.Master

Kubernetes裏的Master指的是集羣控制節點,每個k8s集羣需要一個master來負責整個集羣的管理和控制,基本上k8s所有控制命令都發給它,它來負責具體的執行過程(高可用建議部署3臺服務器)

Master 節點運行的組件:

Kube-apiserver:提供http Rest接口的關鍵服務進程,是k8s裏所有資源增刪改查等操作的唯一入口,也是集羣控制的入口進程。

  • Kube-controller-manager:k8s裏所有資源對象的自動化控制中心,可以理解爲資源對象的“大總管”。

  • Kube-scheduler:負責資源調度(pod調度)的進程,相當於公司的調度室。

另外,在master節點上還需要啓動一個etcd服務,用於存儲所有資源對象的數據。

 

2.Node

除了master,k8s集羣中的其他機器被稱爲Node節點,它可以是一臺物理機,也可以是一臺虛擬機,是集羣中的負載節點,master會根據自動算法或者自定義的策略將pod調度到指定的node上工作,當node宕機時,其上的工作負載會被master自動轉移到其他節點。

每個node節點上運行的進程:

  • Kubelet:負責pod對應的容器的創建,啓停等任務,與master關係密切,實現集羣管理的基本功能。

  • Kube-proxy:實現kubernetes service的通信與負載均衡的組件。

  • Docker engine:docker 引擎,負責本機的容器創建與管理。

前文 如何搭建Kubernetes 已介紹如何搭建一套集羣。這裏不多說。

 這裏可以看到集羣有3個node 1個master.

相關命令:

#kubectl get nodes    用於查看集羣的node信息。

#kubectl describe node $node_name    可以查看更詳細的node信息。比如每個pod的CPU的使用率,內存的使用率,node的內核版本,ip信息等以及發生的event都可以查看到。

 

3.Pod

 

       Pod組成示意圖

Pod是k8s的最重要也是最基本的概念,如圖所示,每個pod都有一個特殊的被“根容器”的Pause容器。Pause容器對應的鏡像屬於k8s平臺的一部分,以他的狀態代表整個容器組的狀態。Docker業務容器運行於pod中。

Kubernetes爲每個Pod都分配了唯一的IP地址,稱爲pod IP,一個pod裏的多個容器共享Pod IP。kubernetes要求底層網絡支持集羣內任意兩個pod之間的tcp/ip直接通信,通常使用虛擬二層網絡技術實現。

 

4.Label

Label是k8s系統中另一個重要的核心概念,label可以附加到各種對象資源上,例如可以給node打label,給pod打label,一個對象可以添加多個label,例如可以給node增加labe role: preonline 這樣就代表着這是個預上線的節點,通過不同label對不同資源進行區分,方便批量更新與回滾。

 

5.Replication Controller

RC簡單來說,定義了一個期望值,即聲明瞭某種pod的副本數量在某時某刻都符合設定的值,如果實際pod的數量少於RC定義的預期的數量,則會自動新增一個pod來符合設定的預期。如配置文件:

這裏創建了個RC,命名爲frontend,預期存活含有tier:frontend的pod爲1個(replicas=1),當預期少於1個時(例如發生node重啓,關機等意外),將從template字段生成一個pod,生成後這個pod打上tier: frontend的標籤。此時pod數量從0變爲1,符合replicas=1的預期。當然此文件還聲明瞭這個pod啓用了tomcat的容器(container.image=tomcat)並暴露出80端口(ports.containerPort=80)。

 

6.Deployment

Deployment 其實是RC的一個升級,增加了例如升級、回滾鏡像的功能,如有批量更新鏡像版本,則可以使用kubectl set image deployment/$deployment_name $imager_name=$image_version

 實例:kubectl set image deployment/nginx-deploy nginx=nginx:1.9.1(升級nginx鏡像到1.9.1版本)。

 

在這裏插入圖片描述睿江雲官網鏈接:http://www.eflycloud.com/#register?salesID=6DGNUTUAV

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章