溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

kubernetes中kubelet運行機制的示例分析

發布時間:2021-12-24 16:15:46 來源:億速云 閱讀:143 作者:小新 欄目:云計算

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

一:簡介

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

二:節點管理

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

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

kubelet配置參數

  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的方式監聽“/registry/nodes/$當前節點的名稱”和“/registry/pods”目錄,將獲取的信息同步到本地緩存中。
2.kubelet 監聽etcd,所有針對Pod的操作將會被kubelet監聽到。如果發現有新的綁定到本節點的Pod,則按照Pod清單的要求創建該Pod.
kubelet讀取監聽到的信息,則做如下處理:
a.為該Pod創建一個數據目錄
b.從API Server讀取該Pod清單
c.為該Pod掛載外部卷
d.下載Pod用到的Secret
e.創建pause容器
f.創建應用容器

四:容器健康檢查

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

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

五:cAdvisor資源監控

在Kubernetes集群中,應用程序的執行情況可以在不同的級別上監測到,這些級別包括:容器,Pod,Service和整個集群。

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女