您好,登錄后才能下訂單哦!
這篇文章主要介紹了k8s集群組件實例分析的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇k8s集群組件實例分析文章都會有所收獲,下面我們一起來看看吧。
k8s是谷歌以Borg為前身,基于谷歌15年生產環境經驗的基礎上開源的一個項目。
k8s致力于提供跨主機集群的自動部署、擴展、高可用以及運行應用程序容器的平臺。
k8s集群包含master節點和node節點,是一個主從架構,通常我們會用3臺服務器已高可用的形式作為主節點,不進行業務部署(可以設置要不要在主節點上部署應用);從節點作為工作節點。
以下為集群組件及功能:
master節點:集群的控制中樞
kube-apiserver:集群的控制中樞,各模塊間信息交互需要經過kube-apiserver,同時它也是集群管理、資源配置、集群安全機制的入口。
controller-manager:集群的狀態管理器,保證pod等資源始終達到一個期望的效果,需要和apiserver進行通信,在需要的時候創建、更新或刪除所管理的資源。
scheduler:集群的調度中心,他會根據指定的一系列條件選擇最佳節點部署pod;就是說如果我們有5個node節點,當我們創建一個pod時候,是由scheduler決定這個pod部署在哪個節點上。
etcd cluster:鍵值數據庫,存放集群信息;生產環境中最好etcd與集群分離,建議3個以上節點(奇數),使用ssd硬盤安裝。
node節點:工作節點,也叫worker節點
kubelet:負責監聽節點上pod狀態,同時負責上報節點與節點上pod狀態,負責與master節點通信,并管理pod。
kube-proxy:負責pod之間的通信和負載均衡,將指定的流量分發到后端機器上。
查看kube-proxy工作模式:
curl 127.0.0.1:10249/proxyMode
我使用的是ipvs。
ipvs:監聽master節點增加和刪除service以及endpoint的消息,調用netlink接口創建相應對的ipvs規則。通過ipvs規則,將流量轉發至相應的pod上。
iptables:監聽master節點增加和刪除service以及endpoint的消息,對于每一個service,他都會創建一個iptables規則,并將service的clusterIP代理到后端相應的pod。
kube-system命名空間:系統組件pod
calico:符合CNI標準的網絡插件,給每個pod生成一個唯一額IP地址,并且將每個節點當做一個路由器(實現或節點通信)。
coreDNS:用于k8s集群內部service解析,可以讓pod把service名稱解析為IP地址,然后通過service的IP地址進行連接到對應應用上。
docker:容器引擎,負責對容器的管理
metrics-server:查看pod占用資源情況
關于“k8s集群組件實例分析”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“k8s集群組件實例分析”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。