国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

深入理解kubernetes監(jiān)控原理

云計(jì)算 云原生
本文將介紹其數(shù)據(jù)鏈路和實(shí)現(xiàn)原理,同時(shí)會(huì)闡述k8s中的監(jiān)控體系。

前言

?承接上文?,我們在基于Ubuntu 2204使用kubeadm部署了k8s集群,且基于helm部署了metrics-server.

然后我們可以很歡快的使用kubectl top命令查看node、pod的實(shí)時(shí)資源使用情況:如CPU、內(nèi)存。

本文將介紹其數(shù)據(jù)鏈路和實(shí)現(xiàn)原理,同時(shí)會(huì)闡述k8s中的監(jiān)控體系。

kubectl top

kubectl top是我們經(jīng)常使用的基礎(chǔ)命令,但是必須需要部署metrics-server組件,才能獲取到監(jiān)控值。

  • 在kubernetes 1.8版本之前,則需要部署heapter, 現(xiàn)已被廢棄。
  • 在kubernetes1.8以及以上,則需要部署metrics-server。

我們所使用的版本是1.24.3的最新版本,所以一定要部署metrics-server。

查看node的資源使用情況。

$ kubectl top node
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
k8s-unode1 158m 7% 1814Mi 47%
k8s-unode2 50m 2% 874Mi 23%
k8s-unode3 51m 2% 943Mi 24%
k8s-unode4 45m 2% 905Mi 23%
$ kubectl top node k8s-unode1
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
k8s-unode1 160m 8% 1811Mi 47%

查看pod的資源使用情況,--containers可以顯示pod內(nèi)所有的container。

$ kubectl top pod -n metrics-server
NAME CPU(cores) MEMORY(bytes)
metrics-server-56c6866684-w6n9b 5m 17Mi
$ kubectl top pod --containers -n metrics-server
POD NAME CPU(cores) MEMORY(bytes)
metrics-server-56c6866684-w6n9b metrics-server 5m 17Mi

指標(biāo)的具體含義:

  • 這里CPU 的m 和 memory 的 mi 與k8s中 request、limit是一致的,cpu單位的100m=0.1 內(nèi)存單位 1MI=1204Ki。
  • pod的內(nèi)存值是其內(nèi)存的實(shí)際使用量,也是做limit限制時(shí)判斷oom的依據(jù)。pod的使用量等于其所有業(yè)務(wù)容器的綜合,但是不包含pause容器。與Cadvisr中的container_memory_working_set_bytes 指標(biāo)值相等。
  • node的值并不等于該node上所有pod值的總和,也不等于直接在機(jī)器上執(zhí)行top或free所得到的值。

kubectl top pod 內(nèi)存計(jì)算

每次啟動(dòng) pod,都會(huì)有一個(gè) pause 容器,既然是容器就一定有資源消耗(一般在 2-3M 的內(nèi)存),cgroup 文件中,業(yè)務(wù)容器和 pause 容器都在同一個(gè) pod的文件夾下。

但 cadvisor 在查詢 pod 的內(nèi)存使用量時(shí),是先獲取了 pod 下的container列表,再逐個(gè)獲取container的內(nèi)存占用,不過這里的 container 列表并沒有包含 pause,因此最終 top pod 的結(jié)果也不包含 pause 容器。

pod 的內(nèi)存使用量計(jì)算

kubectl top pod 得到的內(nèi)存使用量,并不是cadvisor 中的container_memory_usage_bytes,而是container_memory_working_set_bytes,計(jì)算方式為:

  • container_memory_usage_bytes == container_memory_rss + container_memory_cache + kernel memory。
  • container_memory_working_set_bytes = container_memory_usage_bytes – total_inactive_file(未激活的匿名緩存頁)。

container_memory_working_set_bytes是容器真實(shí)使用的內(nèi)存量,也是limit限制時(shí)的 oom 判斷依據(jù)。

kubectl top命令和 top 的差異和上邊 一致,無法直接對比,同時(shí),就算你對 pod 做了limit 限制,pod 內(nèi)的 top 看到的內(nèi)存和 cpu總量仍然是機(jī)器總量,并不是pod 可分配量。

  • 進(jìn)程的RSS為進(jìn)程使用的所有物理內(nèi)存(file_rss+anon_rss),即Anonymous pages+Mapped apges(包含共享內(nèi)存)。
  • cgroup RSS為(anonymous and swap cache memory),不包含共享內(nèi)存。兩者都不包含file cache。

實(shí)現(xiàn)原理

數(shù)據(jù)鏈路

k8s dashboard、kubectl top等都是通過apiserver獲取監(jiān)控?cái)?shù)據(jù),數(shù)據(jù)鏈路如下:

  • 使用 heapster 時(shí):apiserver 會(huì)直接將metric請求通過 proxy 的方式轉(zhuǎn)發(fā)給集群內(nèi)的 hepaster 服務(wù)。
  • 使用 metrics-server 時(shí):apiserver是通過/apis/metrics.k8s.io/的地址訪問metric。

監(jiān)控體系

在提出 metric api 的概念時(shí),官方頁提出了新的監(jiān)控體系,監(jiān)控資源被分為了2種:

  • Core metrics(核心指標(biāo)):從 Kubelet、cAdvisor 等獲取度量數(shù)據(jù),再由metrics-server提供給 Dashboard、HPA 控制器等使用。
  • Custom Metrics(自定義指標(biāo)):由Prometheus Adapter提供API custom.metrics.k8s.io,由此可支持任意Prometheus采集到的指標(biāo)。

  • 核心指標(biāo)只包含node和pod的cpu、內(nèi)存等,一般來說,核心指標(biāo)作HPA已經(jīng)足夠,但如果想根據(jù)自定義指標(biāo):如請求qps/5xx錯(cuò)誤數(shù)來實(shí)現(xiàn)HPA,就需要使用自定義指標(biāo)了。
  • 目前Kubernetes中自定義指標(biāo)一般由Prometheus來提供,再利用k8s-prometheus-adpater聚合到apiserver,實(shí)現(xiàn)和核心指標(biāo)(metric-server)同樣的效果。

kubelet

無論是廢棄的heapster還是metric-server,都只是數(shù)據(jù)的中轉(zhuǎn)和聚合;兩者都是調(diào)用的kubelet的api接口獲取的數(shù)據(jù)。kubelet代碼中實(shí)際集成了采集指標(biāo)的cAdvisor模塊,可以通過kubelet暴露的10250端口獲取監(jiān)控?cái)?shù)據(jù)。

  • Kubelet Summary metrics: 127.0.0.1:10250/metrics,暴露 node、pod 匯總數(shù)據(jù)。
  • Cadvisor metrics: 127.0.0.1:10250/metrics/cadvisor,暴露 container 維度數(shù)據(jù)。

kubelet雖然提供了 metric 接口,但實(shí)際監(jiān)控邏輯由內(nèi)置的cAdvisor模塊負(fù)責(zé)。

cAdvisor

cAdvisor由谷歌開源,使用go語言開發(fā)。項(xiàng)目地址:https://github.com/google/cadvisor。

cadvisor不僅可以搜集一臺機(jī)器上所有運(yùn)行的容器信息,包括CPU使用情況、內(nèi)存使用情況、網(wǎng)絡(luò)吞吐量及文件系統(tǒng)使用情況,還提供基礎(chǔ)查詢界面和http接口,方便其他組件進(jìn)行數(shù)據(jù)抓取。在K8S中集成在Kubelet里作為默認(rèn)啟動(dòng)項(xiàng),k8s官方標(biāo)配。

cadvisor獲取指標(biāo)時(shí)實(shí)際調(diào)用的是 runc/libcontainer庫,而libcontainer是對 cgroup文件 的封裝,即 cadvsior也只是個(gè)轉(zhuǎn)發(fā)者,它的數(shù)據(jù)來自于cgroup文件。

cgroup

cgroup文件中的值是監(jiān)控?cái)?shù)據(jù)的最終來源,如:

  • mem usage的值,來自于/sys/fs/cgroup/memory/docker/[containerId]/memory.usage_in_bytes。
  • 如果沒限制內(nèi)存,Limit = machine_mem,否則來自于 /sys/fs/cgroup/memory/docker/[id]/memory.limit_in_bytes。
  • 內(nèi)存使用率 = memory.usage_in_bytes/memory.limit_in_bytes。

一般情況下,cgroup文件夾下的內(nèi)容包括CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等信息。

device:設(shè)備控制權(quán)限
cpuset:分配指定的CPU和內(nèi)存節(jié)點(diǎn)
cpu:控制CPU占用率
cpuacct:統(tǒng)計(jì)CPU使用情況
memory:限制內(nèi)存的使用上限
freezer:凍結(jié)Cgroup中的進(jìn)程
net_cls:配合(traffic controller)限制網(wǎng)絡(luò)帶寬
net_prio:設(shè)置進(jìn)程的網(wǎng)絡(luò)流量優(yōu)先級
huge_tlb:限制HugeTLB的使用
pref_event:允許perf工具基于cgrgoup分組做性能監(jiān)測

memory下的幾個(gè)常用的指標(biāo)含義:

memory.usage_in_bytes: 已使用的內(nèi)存量(包含cache和buffer)字節(jié),相當(dāng)于linux的userd_mem
memory.limit_in_bytes: 限制的內(nèi)存總量(字節(jié)),相當(dāng)于linux的total_mem
memory.failcnt: 申請內(nèi)存失敗次數(shù)計(jì)數(shù)
memory.stat: 內(nèi)存相關(guān)狀態(tài)
memory.memsw.usage_in_bytes: 已使用內(nèi)存和swap
memory.memsw.limit_in_bytes: 限制的內(nèi)存和swap
memory.memsw.failcnt: 申請內(nèi)存和swap失敗次數(shù)計(jì)數(shù)
責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2024-02-23 16:10:29

KubernetesPrometheus開源

2022-04-24 10:42:59

Kubernete容器網(wǎng)絡(luò)Linux

2019-04-08 16:50:33

前端性能監(jiān)控

2022-11-04 09:43:05

Java線程

2024-03-12 00:00:00

Sora技術(shù)數(shù)據(jù)

2024-11-01 08:57:07

2021-03-10 10:55:51

SpringJava代碼

2020-08-10 18:03:54

Cache存儲器CPU

2024-04-15 00:00:00

技術(shù)Attention架構(gòu)

2023-09-19 22:47:39

Java內(nèi)存

2022-01-14 12:28:18

架構(gòu)OpenFeign遠(yuǎn)程

2020-03-26 16:40:07

MySQL索引數(shù)據(jù)庫

2022-09-26 08:01:31

線程LIFO操作方式

2023-10-13 13:30:00

MySQL鎖機(jī)制

2020-11-04 15:35:13

Golang內(nèi)存程序員

2020-03-17 08:36:22

數(shù)據(jù)庫存儲Mysql

2022-09-05 22:22:00

Stream操作對象

2019-07-01 13:34:22

vue系統(tǒng)數(shù)據(jù)

2023-01-16 18:32:15

架構(gòu)APNacos

2022-08-22 08:04:25

Spring事務(wù)Atomicity
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲成av人片一区二区| 日韩精品黄色网| 久中文字幕一区| 国内精品国产成人国产三级粉色 | 女人色偷偷aa久久天堂| 久久精品国产99国产精品澳门| 中文成人在线| 日韩精品一区二区三区色偷偷| 麻豆精品国产| 精品国产免费视频| 污网站在线播放| 国产精品色婷婷| 9191国产视频| 久久国产主播| 91久久夜色精品国产网站| 涩爱av色老久久精品偷偷鲁| 精品一区二区三区电影| 黄色网页网址在线免费| 婷婷成人综合网| 久草.com| 国产精品久久毛片a| 日韩a级黄色片| 精品一区二区免费在线观看| 国产伦精品一区二区三区高清版| 欧美有码在线| 久久久久久久久久久人体 | 高清国语自产在线观看| 99久久综合国产精品| 亚洲精品国产一区| 久久精品在线| 日韩成人在线资源| 久久精品毛片| 日本一区视频在线观看免费| 1000部精品久久久久久久久| 91沈先生作品| 国户精品久久久久久久久久久不卡| 国产一区在线播放| 欧美第一精品| caoporn国产精品免费公开| 亚洲精品va| 国产视频99| 亚洲欧美成人综合| 日韩aⅴ视频一区二区三区| 丝袜亚洲另类丝袜在线| 日韩精品av一区二区三区| 亚洲在线日韩| 色撸撸在线观看| 不卡一区二区中文字幕| 激情伊人五月天| 欧美在线性视频| 成人免费观看在线观看| 国产精品久久久久婷婷| 国精产品一区一区三区视频| 欧美freesex黑人又粗又大| 日韩欧美一二三区| 91在线三级| 精品亚洲男同gayvideo网站| 日韩免费福利视频| 欧美巨大黑人极品精男| 精品日产乱码久久久久久仙踪林| 91国产高清在线| 成人短片线上看| 51蜜桃传媒精品一区二区| 亚洲国产一区二区三区a毛片| 精品国产福利| 狠狠色丁香久久婷婷综合_中| 和岳每晚弄的高潮嗷嗷叫视频| 久久久久9999亚洲精品| 二区中文字幕| 欧美专区在线观看一区| 日本电影在线观看| 日韩有码视频在线| 西瓜成人精品人成网站| 亚洲一区二区久久久久久| 国产精品视区| 蜜臀av色欲a片无码精品一区| 久久日一线二线三线suv| 高清毛片aaaaaaaa**| 欧美丝袜自拍制服另类| 深夜福利视频一区二区| 欧美精品九九久久| 中文字幕亚洲综合久久五月天色无吗''| 久久久久久99| 久久天堂av综合合色蜜桃网| 性一爱一乱一交一视频| 日韩精品一区在线观看| 欧美视频二区欧美影视| 91牛牛免费视频| 国产综合久久久久久鬼色| 成人免费看黄网址| 欧美日韩一区国产| 日韩免费成人| 欧美精品人人做人人爱视频| 99精品国产热久久91蜜凸| 特级全黄一级毛片| 亚洲第一偷拍网| 欧美**vk| 国产激情在线看| 日韩欧美在线第一页| 91国内外精品自在线播放| 国产日韩精品在线| 国产一区视频导航| 一色桃子在线| 在线观看日韩专区| 97精品视频| 精品无码一区二区三区在线| 亚洲成av人片| 久久精品黄色| 日本一区二区三区在线视频| 亚洲欧美自拍偷拍色图| sm性调教片在线观看 | 精品欧美一区二区在线观看 | 欧美亚洲精品日韩| 欧美国产成人精品| 免费av不卡在线观看| 欧美一级片免费在线| 精品写真视频在线观看| 中文字幕在线中文字幕二区| 国产亚洲精品久久久久久777| 亚洲国产精品成人| 91人人澡人人爽人人精品| 精品国产制服丝袜高跟| 久久看人人摘| 男人的天堂日韩| 亚洲欧美国产制服动漫| 激情婷婷亚洲| 污视频网站在线看| 欧美日本精品在线| 国产精品影视在线观看| 国产激情视频在线观看| 国产欧美一区二区三区视频| 久久理论电影网| tube8在线hd| 国产精品一区二区你懂得| 自拍偷拍亚洲激情| 精品国产亚洲一区二区三区| 久久久一二三四| 91精品国产高清一区二区三区| 婷婷激情图片久久| 激情婷婷丁香| 欧美在线日韩在线| 中文欧美字幕免费| 久久在线观看| 日韩精品一区二区三区久久| 精品视频偷偷看在线观看| 亚洲精品欧美| 成人在线播放视频| 99久久精品无码一区二区毛片| 亚洲成av人片在线| 欧美亚洲在线日韩| 一二三区高清| 国产精品jvid在线观看蜜臀| 日韩美女视频一区| 伊人久久综合影院| av激情网站| 国产精品成av人在线视午夜片 | www成人免费观看| 日韩视频专区| 欧美一二三在线| 亚洲国产裸拍裸体视频在线观看乱了中文| 视频黄页在线| 成人免费淫片视频软件| 欧美性黄网官网| 亚洲国产网站| 日本在线视频网址| 亚洲欧洲另类精品久久综合| 精品少妇一区二区三区免费观看 | 国产在线视频在线| 深夜福利一区二区| 亚洲亚洲精品在线观看| 久草成人在线| 亚洲xxxx18| 色综合天天综合网天天看片| 91精品亚洲| 黄网在线观看| 国内精品视频在线播放| 欧美一区二区三区在线视频| 免费黄网站欧美| 欧美日韩不卡| 精品久久久久久久无码| 欧美大片免费看| 亚洲人成网站色在线观看| 欧美亚洲精品在线| av免费在线免费| 久久综合色视频| 欧美专区中文字幕| 欧美亚洲动漫制服丝袜| 黄页视频在线91| 三级欧美日韩| 亚洲高清成人影院| 亚州欧美一区三区三区在线| 夜夜嗨av色综合久久久综合网| 久久人人爽人人爽| 日韩在线精品| 国产美女情趣调教h一区二区| 久久久久免费看黄a片app| 91精品国产色综合| 欧美在线观看禁18| 成人黄色综合网站| 999精品视频|