kubernetes中kubelet運行機(jī)制的示例分析-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)kubernetes中kubelet運行機(jī)制的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都做網(wǎng)站、涿鹿網(wǎng)絡(luò)推廣、小程序設(shè)計、涿鹿網(wǎng)絡(luò)營銷、涿鹿企業(yè)策劃、涿鹿品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們大的嘉獎;成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供涿鹿建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:muchs.cn

一:簡介

在Kubernetes集群中,每個Node節(jié)點上都會啟動一個Kubelet服務(wù)進(jìn)行。該進(jìn)程用于處理Master節(jié)點下發(fā)到本節(jié)點的任務(wù),管理Pod及Pod中的容器。每個Kubelet進(jìn)程會在API SERVER上注冊節(jié)點自身信息,定期向Master節(jié)點匯報節(jié)點資源的使用情況,并通過cAdvise監(jiān)控容器和節(jié)點資源。

二:節(jié)點管理

節(jié)點通過設(shè)置kubelet的啟動參數(shù)“–register-node”,來決定是否向API Server注冊自己,默認(rèn)為true??梢酝ㄟ^kubelet –help查看該參數(shù)。

kubelet在啟動時通過API Server注冊節(jié)點信息,并定時向API Server發(fā)送節(jié)點的新信息,API Server在接收到這些消息后,將這些消息寫入etcd. 通過kubelet的啟動參數(shù)"--node-status-update-frequency"設(shè)置每隔多長時間向API Server報告節(jié)點狀態(tài),默認(rèn)10s.

kubelet配置參數(shù)

  1. ## kubelet (minion) config

  2. #

  3. ## The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces)

  4. KUBELET_ADDRESS="--address=10.116.82.28"

  5. #

  6. ## The port for the info server to serve on

  7. #KUBELET_PORT="--port=10250"

  8. #

  9. ## You may leave this blank to use the actual hostname

  10. KUBELET_HOSTNAME="--hostname-override=10.116.82.28"

  11. #

  12. ## location of the api-server

  13. #KUBELET_API_SERVER="--api-servers=http://10.116.137.196:8080"

  14. #

  15. ## pod infrastructure container

  16. #KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=sz-pg-oam-docker-hub-001.tendcloud.com/library/pod-infrastructure:rhel7"

  17. KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure"

  18. #

  19. ## Add your own!

  20. KUBELET_ARGS="--cgroup-driver=systemd --cluster-dns=10.254.0.2  --experimental-bootstrap-kubeconfig=/etc/kubernetes/bootstrap.kubeconfig --kubeconfig=/etc/kubernetes/kubelet.kubeconfig --require-kubeconfig --cert-dir=/etc/kubernetes/ssl --cluster-domain=cluster.local. --hairpin-mode promiscuous-bridge --serialize-image-pulls=false --runtime-cgroups=/systemd/system.slice --kubelet-cgroups=/systemd/system.slice"

三:Pod管理
1.kubelet通過API Server Client使用Watch+List的方式監(jiān)聽“/registry/nodes/$當(dāng)前節(jié)點的名稱”和“/registry/pods”目錄,將獲取的信息同步到本地緩存中。
2.kubelet 監(jiān)聽etcd,所有針對Pod的操作將會被kubelet監(jiān)聽到。如果發(fā)現(xiàn)有新的綁定到本節(jié)點的Pod,則按照Pod清單的要求創(chuàng)建該Pod.
kubelet讀取監(jiān)聽到的信息,則做如下處理:
a.為該Pod創(chuàng)建一個數(shù)據(jù)目錄
b.從API Server讀取該Pod清單
c.為該Pod掛載外部卷
d.下載Pod用到的Secret
e.創(chuàng)建pause容器
f.創(chuàng)建應(yīng)用容器

四:容器健康檢查

對Pod的健康狀態(tài)檢查可以通過兩類探針來檢查:LivenessProbe和ReadinessProbe
1.LivenessProbe探針: 用于判斷容器是否存活,如果LivenessProbe探針探測到容器不健康,則kubelet將殺掉該容器,并根據(jù)容器的重啟策略做相應(yīng)的處理。如果一個容器不包含LivenessProbe探針,那么kubelet認(rèn)為該容器的LivenessProbe探針返回值永遠(yuǎn)是“Success”.

2.ReadinessProbe探針: 用于判斷容器是否啟動完成,可以接收請求。如果ReadinessProbe 探針檢測到失敗,則Pod的狀態(tài)將被修改。Endpoint Controller將從Service的Endpoint中刪除包括該容器所在Pod的Endpoint.

五:cAdvisor資源監(jiān)控

在Kubernetes集群中,應(yīng)用程序的執(zhí)行情況可以在不同的級別上監(jiān)測到,這些級別包括:容器,Pod,Service和整個集群。

1.Heapster項目為Kubernetes提供了一個基本的監(jiān)控平臺,它是集群級別的監(jiān)控。

2.cAdvisor是一個開源的分析容器資源使用率和性能特性的代理工具。cAdvisor被集成到Kubernetes代碼中,cAdvisor自動查找所有在其節(jié)點上的容器,自動采集CPU,內(nèi)存,文件系統(tǒng)和網(wǎng)絡(luò)使用的統(tǒng)計信息。cAdvisor通過它所在節(jié)點機(jī)的Root容器,采集并分析該節(jié)點的全面使用情況。

感謝各位的閱讀!關(guān)于“kubernetes中kubelet運行機(jī)制的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

網(wǎng)站名稱:kubernetes中kubelet運行機(jī)制的示例分析-創(chuàng)新互聯(lián)
地址分享:http://muchs.cn/article30/dejiso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、建站公司、微信小程序、App設(shè)計、網(wǎng)站制作、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)