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