国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server

這篇具有很好參考價(jià)值的文章主要介紹了rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

為了能夠提前發(fā)現(xiàn)kubernetes集群的問(wèn)題以及方便快捷的查詢?nèi)萜鞯母黝悈?shù),比如,某個(gè)pod的內(nèi)存使用異常高企?等等這樣的異常狀態(tài)(雖然kubernetes有自動(dòng)重啟或者驅(qū)逐等等保護(hù)措施,但萬(wàn)一沒(méi)有配置或者失效了呢),容器的內(nèi)存使用量限制,過(guò)去10秒容器CPU的平均負(fù)載等等容器的運(yùn)行參數(shù),這些情況我們自然還是將kubernetes集群納入到監(jiān)控系統(tǒng)中好些,畢竟能夠發(fā)現(xiàn)問(wèn)題和解決問(wèn)題更加的優(yōu)雅嘛。

因此,我們需要能夠有一個(gè)比較全面的監(jiān)測(cè)容器運(yùn)行的實(shí)時(shí)的監(jiān)控系統(tǒng),版本答案當(dāng)然就是Prometheus了。Prometheus監(jiān)控系統(tǒng)可以多維度的,方便的將我們需要的信息收集起來(lái),然后通過(guò)Grafana做一個(gè)華麗的展示。

那么,對(duì)于容器這個(gè)對(duì)象來(lái)說(shuō),我們要使用的收集器就是cAdvisor啦,但cAdvisor這個(gè)收集器和node_exporter,mysqld_exporter 這些收集器不太一樣,它是集成在kubelet這個(gè)服務(wù)內(nèi)的,因此,我們不需要額外的安裝cAdvisor收集器,也就是說(shuō)不需要像node_exporter這樣的系統(tǒng)信息收集器一樣單獨(dú)部署了,只要kubernetes的節(jié)點(diǎn)上有運(yùn)行kubelet這個(gè)服務(wù)就可以了。

下面就kubernetes集群的Prometheus專用于容器的實(shí)時(shí)信息收集器cAdvisor如何認(rèn)識(shí)它,如何部署它并集成到Prometheus內(nèi)做一個(gè)詳細(xì)的介紹。
?

?一,
cAdvisor的簡(jiǎn)介
cAdvisor是一個(gè)谷歌開(kāi)發(fā)的容器監(jiān)控工具,它被內(nèi)嵌到k8s中作為k8s的監(jiān)控組件。cAdvisor對(duì)Node機(jī)器上的資源及容器進(jìn)行實(shí)時(shí)監(jiān)控和性能數(shù)據(jù)采集,包括CPU使用情況、內(nèi)存使用情況、網(wǎng)絡(luò)吞吐量及文件系統(tǒng)使用情況,由于cAdvisor是集成在Kubelet中的,因此,當(dāng)kubelet啟動(dòng)時(shí)會(huì)自動(dòng)啟動(dòng)cAdvisor,即一個(gè)cAdvisor僅對(duì)一臺(tái)Node機(jī)器進(jìn)行監(jiān)控。
?

當(dāng)然也可以單獨(dú)安裝?cAdvisor 來(lái)監(jiān)控只有docekr容器的機(jī)器而沒(méi)有k8s集群環(huán)境的監(jiān)控

二,其它的用于收集容器信息的信息收集器
heapster和Metrics server以及kube-state-metrics都可用于提供容器信息,但它們所提供的信息維度是不同的,heapster已經(jīng)被Metrics server所取代 了,如果沒(méi)記錯(cuò)的話,應(yīng)該是從k8s的1.16版本后放棄了heapster。

Metrics server作為新的容器信息收集器,是從 api-server 中獲取容器的 cpu、內(nèi)存使用率這種監(jiān)控指標(biāo),并把他們發(fā)送給存儲(chǔ)后端,可以算作一個(gè)完整的監(jiān)控系統(tǒng)。cAdvisor是專有的容器信息收集,是一個(gè)專有工具的地位,而kube-state-metrics是偏向于kubernetes集群內(nèi)的資源對(duì)象,例如deployment,StateFulSet,daemonset等等資源,可以算作一個(gè)特定的數(shù)據(jù)源

三,cAdvisor的初步使用

kubelet是kubernetes集群中真正維護(hù)容器狀態(tài),負(fù)責(zé)主要的業(yè)務(wù)的一個(gè)關(guān)鍵組件。每個(gè)節(jié)點(diǎn)上都運(yùn)行一個(gè) kubelet 服務(wù)進(jìn)程,默認(rèn)監(jiān)聽(tīng) 10250 端口,接收并執(zhí)行 master 發(fā)來(lái)的指令,管理 Pod 及 Pod 中的容器。kubernetes的節(jié)點(diǎn)IP+10250端口就是kubelet的API。

幾個(gè)重要的端口:

A:

10250(kubelet API):kubelet server 與 apiserver 通信的端口,定期請(qǐng)求 apiserver 獲取自己所應(yīng)當(dāng)處理的任務(wù),通過(guò)該端口可以訪問(wèn)獲取 node 資源以及狀態(tài)。kubectl查看pod的日志和cmd命令,都是通過(guò)kubelet端口10250訪問(wèn)。

10248端口是什么呢?是kubelet的健康檢查端口,可以通過(guò) kubelet 的啟動(dòng)參數(shù) –healthz-port 和 –healthz-bind-address 來(lái)指定監(jiān)聽(tīng)的地址和端口。

需要注意的是,Kubernetes 1.11+ 版本以后,kubelet 就移除了 10255 端口, metrics 接口又回到了 10250 端口中。

版本的kubernetes還有一個(gè)4194端口,此端口是cAdvisor的web管理界面的端口,可能是出于安全漏洞的考慮,后續(xù)版本移除了此端口,因此,此端口在我這個(gè)版本內(nèi)并沒(méi)有開(kāi)啟。

?B:API的使用
既然都說(shuō)了節(jié)點(diǎn)IP+10250是kubelet的API了,那么,我們肯定可以從這個(gè)API里獲取到一些信息了,這些信息其實(shí)就是cAdvisor收集到的,如何使用這個(gè)API呢?這個(gè)API可是需要使用證書(shū)的https哦。因此,計(jì)劃建立一個(gè)sa,通過(guò)sa的token來(lái)登陸這個(gè)API

1)利用ServiceAccount訪問(wèn)API

利用ServiceAccount訪問(wèn)API

找一個(gè)具有cluster-admin權(quán)限的ServiceAccount,其實(shí)每個(gè)集群內(nèi)都很容易找到這樣的sa,但為了說(shuō)明問(wèn)題還是新建一個(gè)任意的具有最高權(quán)限的sa吧,實(shí)際的生產(chǎn)中可不要這么搞哦。

新建一個(gè)sa:

kubectl create ns monitor-sa  #創(chuàng)建一個(gè)monitor-sa的名稱空間
kubectl create serviceaccount monitor -n monitor-sa  #創(chuàng)建一個(gè)sa賬號(hào)
kubectl create clusterrolebinding monitor-clusterrolebinding -n monitor-sa --clusterrole=cluster-admin  --serviceaccount=monitor-sa:monitor

查看secret:

[root@node3 ~]# k get secrets -n monitor-sa 
NAME                  TYPE                                  DATA   AGE
default-token-fw7pq   kubernetes.io/service-account-token   3      81s
monitor-token-tf48k   kubernetes.io/service-account-token   3      81s

獲取登錄用的token:

[root@node3 ~]# k describe secrets -n monitor-sa monitor-token-tf48k 

使用10250這個(gè)API:

將token保存到變量TOKEN里面,然后下面的API調(diào)試接口命令里面引用
[root@node3 ~]# TOKEN=“”

curl https://127.0.0.1:10250/metrics/cadvisor -k -H "Authorization: Bearer $TOKEN"

OK,輸出茫茫多,稍微截一點(diǎn)吧,剩下的就不貼了,具體的含義后面在說(shuō)吧:

[root@node3 ~]# curl https://127.0.0.1:10250/metrics/cadvisor -k -H "Authorization: Bearer $TOKEN" |less

將上面的命令改造一下,使用kube-apiserver 的服務(wù)來(lái)訪問(wèn)kube-apiserver 的API接口:

curl https://10.96.0.1/api/v1/nodes/node3/proxy/metrics -k -H "Authorization: Bearer $TOKEN"
[root@node3 ~]# curl https://10.96.0.1/api/v1/nodes/node3/proxy/metrics -k -H "Authorization: Bearer $TOKEN" |less

OK,以上是通過(guò)一個(gè)具有admin權(quán)限的serviceAccount賬戶直接連接cadvisor和kube-apiserver的API動(dòng)態(tài)獲得節(jié)點(diǎn)的pod,endpoint等等資源的各個(gè)維度的數(shù)據(jù)。

現(xiàn)在需要將這些集成到Prometheus server里了。

Kubernetes監(jiān)控體系總結(jié)_kube-state-metrics 代替了cadvisor嗎-CSDN博客

Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux/Windows/Mac 機(jī)器上。容器鏡像正成為一個(gè)新的標(biāo)準(zhǔn)化軟件交付方式。為了能夠獲取到 Docker 容器的運(yùn)行狀態(tài),用戶可以通過(guò) Docker 的 stats 命令獲取到當(dāng)前主機(jī)上運(yùn)行容器的統(tǒng)計(jì)信息,可以查看容器的 CPU 利用率、內(nèi)存使用量、網(wǎng)絡(luò) IO 總量以及磁盤 IO 總量等信息。

顯然如果我們想對(duì)監(jiān)控?cái)?shù)據(jù)做存儲(chǔ)以及可視化的展示,那么 docker 的 stats 是不能滿足的。

為了解決 docker stats 的問(wèn)題(存儲(chǔ)、展示),谷歌開(kāi)源的 cadvisor 誕生了,cadvisor 不僅可以搜集一臺(tái)機(jī)器上所有運(yùn)行的容器信息,還提供基礎(chǔ)查詢界面和 http 接口,方便其他組件如 Prometheus 進(jìn)行數(shù)據(jù)抓取,或者 cAdvisor + influxDB + grafana 搭配使用。cAdvisor 可以對(duì)節(jié)點(diǎn)機(jī)器上的資源及容器進(jìn)行實(shí)時(shí)監(jiān)控和性能數(shù)據(jù)采集,包括 CPU 使用情況、內(nèi)存使用情況、網(wǎng)絡(luò)吞吐量及文件系統(tǒng)使用情況

監(jiān)控原理

cAdvisor 使用 Go 語(yǔ)言開(kāi)發(fā),利用 Linux 的 cgroups 獲取容器的資源使用信息,在 K8S 中集成在 Kubelet 里作為默認(rèn)啟動(dòng)項(xiàng),官方標(biāo)配。

Docker 是基于 Namespace、Cgroups 和聯(lián)合文件系統(tǒng)實(shí)現(xiàn)的

Cgroups 不僅可以用于容器資源的限制,還可以提供容器的資源使用率。不管用什么監(jiān)控方案,底層數(shù)據(jù)都來(lái)源于 Cgroups

Cgroups 的工作目錄 ? /sys/fs/cgroup 下包含了 Cgroups 的所有內(nèi)容。Cgroups 包含了很多子系統(tǒng),可以對(duì) CPU,內(nèi)存,PID,磁盤 IO 等資源進(jìn)行限制和監(jiān)控。

Heapster
Heapster 是容器集群監(jiān)控和性能分析工具,天然的支持 Kubernetes 和 CoreOS。

Heapster 首先從 K8S Master 獲取集群中所有 Node 的信息,然后通過(guò)這些 Node 上的 kubelet 獲取有用數(shù)據(jù),而 kubelet 本身的數(shù)據(jù)則是從 cAdvisor 得到。所有獲取到的數(shù)據(jù)都被推到 Heapster 配置的后端存儲(chǔ)中,并還支持?jǐn)?shù)據(jù)的可視化。現(xiàn)在后端存儲(chǔ) + 可視化的方法,如 InfluxDB + grafana。

Heapster 可以收集 Node 節(jié)點(diǎn)上的 cAdvisor 數(shù)據(jù),還可以按照 kubernetes 的資源類型來(lái)集合資源,比如 Pod、Namespace 域,可以分別獲取它們的 CPU、內(nèi)存、網(wǎng)絡(luò)和磁盤的 metric。默認(rèn)的 metric 數(shù)據(jù)聚合時(shí)間間隔是 1 分鐘。

注意 :Kubernetes 1.11 不建議使用 Heapster,就 SIG Instrumentation 而言,這是為了轉(zhuǎn)向新的 Kubernetes 監(jiān)控模型的持續(xù)努力的一部分。仍使用 Heapster 進(jìn)行自動(dòng)擴(kuò)展的集群應(yīng)遷移到 metrics-server 和自定義指標(biāo) API。
rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server,kubernetes,rancher,docker

kubernetes 集群資源監(jiān)控之前可以通過(guò) heapster 來(lái)獲取數(shù)據(jù),在 1.11 開(kāi)始開(kāi)始逐漸廢棄 heapster 了,采用 metrics-server 來(lái)代替,metrics-server 是集群的核心監(jiān)控?cái)?shù)據(jù)的聚合器,它從 kubelet 公開(kāi)的 Summary API 中采集指標(biāo)信息,metrics-server 是擴(kuò)展的 APIServer,依賴于 kube-aggregator,因?yàn)槲覀冃枰?APIServer 中開(kāi)啟相關(guān)參數(shù)。

Metrics Server 并不是 kube-apiserver 的一部分,而是通過(guò) Aggregator 這種插件機(jī)制,在獨(dú)立部署的情況下同 kube-apiserver 一起統(tǒng)一對(duì)外服務(wù)的。

Aggregator

通過(guò)聚合層擴(kuò)展 Kubernetes API使用聚合層(Aggregation Layer),用戶可以通過(guò)額外的 API 擴(kuò)展 Kubernetes, 而不局限于 Kubernetes 核心 API 提供的功能。這里的附加 API 可以是現(xiàn)成的解決方案比如 metrics server, 或者你自己開(kāi)發(fā)的 API。聚合層不同于 定制資源(Custom Resources)。后者的目的是讓 kube-apiserver 能夠認(rèn)識(shí)新的對(duì)象類別(Kind)。

聚合層聚合層在 kube-apiserver 進(jìn)程內(nèi)運(yùn)行。在擴(kuò)展資源注冊(cè)之前,聚合層不做任何事情。要注冊(cè) API,用戶必須添加一個(gè) APIService 對(duì)象,用它來(lái)“申領(lǐng)” Kubernetes API 中的 URL 路徑。自此以后,聚合層將會(huì)把發(fā)給該 API 路徑的所有內(nèi)容(例如 /apis/myextension.mycompany.io/v1/…) 轉(zhuǎn)發(fā)到已注冊(cè)的 APIService。

APIService 的最常見(jiàn)實(shí)現(xiàn)方式是在集群中某 Pod 內(nèi)運(yùn)行 擴(kuò)展 API 服務(wù)器。如果你在使用擴(kuò)展 API 服務(wù)器來(lái)管理集群中的資源,該擴(kuò)展 API 服務(wù)器(也被寫成“extension-apiserver”) 一般需要和一個(gè)或多個(gè)控制器一起使用。apiserver-builder 庫(kù)同時(shí)提供構(gòu)造擴(kuò)展 API 服務(wù)器和控制器框架代碼。

這里,Aggregator APIServer 的工作原理,可以用如下所示的一幅示意圖來(lái)表示清楚 :

rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server,kubernetes,rancher,docker

因?yàn)?k8s 的 api-server 將所有的數(shù)據(jù)持久化到了 etcd 中,顯然 k8s 本身不能處理這種頻率的采集,而且這種監(jiān)控?cái)?shù)據(jù)變化快且都是臨時(shí)數(shù)據(jù),因此需要有一個(gè)組件單獨(dú)處理他們,于是 metric-server 的概念誕生了。

Metrics server 出現(xiàn)后,新的 Kubernetes 監(jiān)控架構(gòu)將變成下圖的樣子

  1. 核心流程(黑色部分):這是 Kubernetes 正常工作所需要的核心度量,從 Kubelet、cAdvisor 等獲取度量數(shù)據(jù),再由 metrics-server 提供給 Dashboard、HPA 控制器等使用。
  2. 監(jiān)控流程(藍(lán)色部分):基于核心度量構(gòu)建的監(jiān)控流程,比如 Prometheus 可以從 metrics-server 獲取核心度量,從其他數(shù)據(jù)源(如 Node Exporter 等)獲取非核心度量,再基于它們構(gòu)建監(jiān)控告警系統(tǒng)。

rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server,kubernetes,rancher,docker

注意:

  • metrics-sevrer 的數(shù)據(jù)存在內(nèi)存中。

  • metrics-server 主要針對(duì) node、pod 等的 cpu、網(wǎng)絡(luò)、內(nèi)存等系統(tǒng)指標(biāo)的監(jiān)控

kube-state-metrics
已經(jīng)有了 cadvisor、heapster、metric-server,幾乎容器運(yùn)行的所有指標(biāo)都能拿到,但是下面這種情況卻無(wú)能為力:

  • 我調(diào)度了多少個(gè) replicas?現(xiàn)在可用的有幾個(gè)?
  • 多少個(gè) Pod 是 running/stopped/terminated 狀態(tài)?
  • Pod 重啟了多少次?
  • 我有多少 job 在運(yùn)行中
    ?

而這些則是 kube-state-metrics 提供的內(nèi)容,它基于 client-go 開(kāi)發(fā),輪詢 Kubernetes API,并將 Kubernetes 的結(jié)構(gòu)化信息轉(zhuǎn)換為 metrics。

kube-state-metrics 與 metrics-server 對(duì)比

我們服務(wù)在運(yùn)行過(guò)程中,我們想了解服務(wù)運(yùn)行狀態(tài),pod 有沒(méi)有重啟,伸縮有沒(méi)有成功,pod 的狀態(tài)是怎么樣的等,這時(shí)就需要 kube-state-metrics,它主要關(guān)注 deployment,、node 、 pod 等內(nèi)部對(duì)象的狀態(tài)。而 metrics-server 主要用于監(jiān)測(cè) node,pod 等的 CPU,內(nèi)存,網(wǎng)絡(luò)等系統(tǒng)指標(biāo)。

  • metric-server(或 heapster)是從 api-server 中獲取 cpu、內(nèi)存使用率這種監(jiān)控指標(biāo),并把他們發(fā)送給存儲(chǔ)后端,如 influxdb 或云廠商,他當(dāng)前的核心作用是:為 HPA 等組件提供決策指標(biāo)支持。
  • kube-state-metrics 關(guān)注于獲取 k8s 各種資源的最新?tīng)顟B(tài),如 deployment 或者 daemonset,之所以沒(méi)有把 kube-state-metrics 納入到 metric-server 的能力中,是因?yàn)樗麄兊年P(guān)注點(diǎn)本質(zhì)上是不一樣的。metric-server 僅僅是獲取、格式化現(xiàn)有數(shù)據(jù),寫入特定的存儲(chǔ),實(shí)質(zhì)上是一個(gè)監(jiān)控系統(tǒng)。而 kube-state-metrics 是將 k8s 的運(yùn)行狀況在內(nèi)存中做了個(gè)快照,并且獲取新的指標(biāo),但他沒(méi)有能力導(dǎo)出這些指標(biāo)
  • 換個(gè)角度講,kube-state-metrics 本身是 metric-server 的一種數(shù)據(jù)來(lái)源,雖然現(xiàn)在沒(méi)有這么做。
  • 另外,像 Prometheus 這種監(jiān)控系統(tǒng),并不會(huì)去用 metric-server 中的數(shù)據(jù),他都是自己做指標(biāo)收集、集成的(Prometheus 包含了 metric-server 的能力),但 Prometheus 可以監(jiān)控 metric-server 本身組件的監(jiān)控狀態(tài)并適時(shí)報(bào)警,這里的監(jiān)控就可以通過(guò) kube-state-metrics 來(lái)實(shí)現(xiàn),如 metric-serverpod 的運(yùn)行狀態(tài)。
    ?

?rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server,kubernetes,rancher,docker

custom-metrics-apiserver
kubernetes 的監(jiān)控指標(biāo)分為兩種

  • 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)。
    ?

以下是官方 metrics 的項(xiàng)目介紹:

Resource Metrics API(核心 api)

  • Heapster

  • Metrics Server

Custom Metrics API:

  • Prometheus Adapter

  • Microsoft Azure Adapter

  • Google Stackdriver

  • Datadog Cluster Agent

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

HPA 請(qǐng)求 metrics 時(shí),kube-aggregator(apiservice 的 controller) 會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到 adapter,adapter 作為 kubernentes 集群的 pod,實(shí)現(xiàn)了 Kubernetes resource metrics API 和 custom metrics API,它會(huì)根據(jù)配置的 rules 從 Prometheus 抓取并處理 metrics,在處理(如重命名 metrics 等)完后將 metric 通過(guò) custom metrics API 返回給 HPA。最后 HPA 通過(guò)獲取的 metrics 的 value 對(duì) Deployment/ReplicaSet 進(jìn)行擴(kuò)縮容。

adapter 作為 extension-apiserver(即自己實(shí)現(xiàn)的 pod),充當(dāng)了代理 kube-apiserver 請(qǐng)求 Prometheus 的功能。

adapter 作為 extension-apiserver(即自己實(shí)現(xiàn)的 pod),充當(dāng)了代理 kube-apiserver 請(qǐng)求 Prometheus 的功能

rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server,kubernetes,rancher,docker

其實(shí) k8s-prometheus-adapter 既包含自定義指標(biāo),又包含核心指標(biāo),即如果安裝了 prometheus,且指標(biāo)都采集完整,k8s-prometheus-adapter 可以替代 metrics server。

Prometheus 部署方案
prometheus operator

  • https://github.com/prometheus-operator/prometheus-operator

kube-prometheus

  • https://github.com/prometheus-operator/kube-prometheus

在集群外部署

  • https://www.qikqiak.com/post/monitor-external-k8s-on-prometheus/

kube-prometheus 既包含了 Operator,又包含了 Prometheus 相關(guān)組件的部署及常用的 Prometheus 自定義監(jiān)控,具體包含下面的組件

  • The Prometheus Operator:創(chuàng)建 CRD 自定義的資源對(duì)象
  • Highly available Prometheus:創(chuàng)建高可用的 Prometheus
  • Highly available Alertmanager:創(chuàng)建高可用的告警組件
  • Prometheus node-exporter:創(chuàng)建主機(jī)的監(jiān)控組件
  • Prometheus Adapter for Kubernetes Metrics APIs:創(chuàng)建自定義監(jiān)控的指標(biāo)工具(例如可以通過(guò) nginx 的 request 來(lái)進(jìn)行應(yīng)用的自動(dòng)伸縮)
  • kube-state-metrics:監(jiān)控 k8s 相關(guān)資源對(duì)象的狀態(tài)指標(biāo)
  • Grafana:進(jìn)行圖像展示

我們的做法
我們的做法,其實(shí)跟 kube-prometheus 的思路差不多,只不過(guò)我們沒(méi)有用 Operator ,是自己將以下這些組件的 yaml 文件用 helm 組織了起來(lái)而已:

  • kube-state-metrics
  • prometheus
  • alertmanager
  • grafana
  • k8s-prometheus-adapter
  • node-exporter

當(dāng)然 kube-prometheus 也有 helm charts 由 prometheus 社區(qū)提供:https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack

這么干的原因是:這樣的靈活度是最高的,雖然在第一次初始化創(chuàng)建這些腳本的時(shí)候麻煩了些。不過(guò)還有一個(gè)原因是我們當(dāng)時(shí)部署整個(gè)基于 prometheus 的監(jiān)控體系時(shí),kube-prometheus 這個(gè)項(xiàng)目還在早期,沒(méi)有引起我們的關(guān)注。如果在 2021 年年初或 2020 年年底的時(shí)候創(chuàng)建的話,可能就會(huì)直接上了。

參考

  • https://blog.opskumu.com/cadvisor.html
  • https://prometheus.io/
  • https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale/
  • https://www.cnblogs.com/chenqionghe/p/10494868.html
  • https://www.qikqiak.com/post/k8s-operator-101/
  • https://kubernetes.io/zh/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation/
  • https://segmentfault.com/a/1190000017875641
  • https://segmentfault.com/a/1190000038888544
  • https://yasongxu.gitbook.io/
  • https://mp.weixin.qq.com/s/p4FAFKHi8we4mrD7OIk7IQ
  • https://kubernetes.feisky.xyz/apps/index/operator
  • https://yunlzheng.gitbook.io/prometheus-book/part-iii-prometheus-shi-zhan/operator/what-is-prometheus-operator
    ?

1.k8s原生api地址?

k8s的REST API:

http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes
http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/nodes/<node-name>
http://127.0.0.1:8001/apis/metrics.k8s.io/v1beta1/namespace/<namespace-name>/pods/<pod-name>

2.rancher看k8s接口地址

2.1)看集群的api

rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server,kubernetes,rancher,docker

2.2)通過(guò)集群api查看id?

rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server,kubernetes,rancher,docker

2.3)通過(guò)rancher看k8s的api地址?

rancher的REST API:

總接口:https://rancher.jettech.cn/k8s/clusters/c-wpz72/

node:https://rancher.jettech.cn/k8s/clusters/c-wpz72/apis/metrics.k8s.io/v1beta1/nodes

pod:https://rancher.jettech.cn/k8s/clusters/c-wpz72/apis/metrics.k8s.io/v1beta1/pods

?細(xì)說(shuō)k8s監(jiān)控架構(gòu) - 知乎文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-817998.html

到了這里,關(guān)于rancher和k8s接口地址,Kubernetes監(jiān)控體系,cAdvisor和kube-state-metrics 與 metrics-server的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Kubernetes(k8s)上安裝Prometheus和Grafana監(jiān)控

    Kubernetes(k8s)上安裝Prometheus和Grafana監(jiān)控

    當(dāng)然前提環(huán)境是你得先有一個(gè)Kubernetes集群,版本在v1.21.*~v1.27.*之間,當(dāng)然我已經(jīng)準(zhǔn)備好了Kubernetes: 可以看到我準(zhǔn)備的Kubernetes版本為1.21.14的,符合要求。本篇文章也以這個(gè)版本來(lái)進(jìn)行安裝,上面提到的版本安裝步驟和這個(gè)版本大體相同,按照步驟來(lái)即可。 因?yàn)樵贙ubernetes上安

    2024年02月10日
    瀏覽(778)
  • 【Kubernetes】使用Kubeshark監(jiān)控K8s集群的API流量

    ????????Kubeshark 是一款針對(duì)?Kubernetes 的 API 流量分析器,提供對(duì) Kubernetes 內(nèi)部網(wǎng)絡(luò)的實(shí)時(shí)協(xié)議級(jí)可見(jiàn)性,捕獲和監(jiān)控進(jìn)出容器、Pod、節(jié)點(diǎn)和集群的所有流量和有效負(fù)載。 ? ? ? ? Kubeshark 的安裝和運(yùn)行很簡(jiǎn)單,安裝之前,我們需要先聯(lián)網(wǎng)下載一個(gè)二進(jìn)制文件(當(dāng)前最新版:

    2024年02月11日
    瀏覽(33)
  • Prometheus+Grafana(外)監(jiān)控Kubernetes(K8s)集群(基于containerd)

    Prometheus+Grafana(外)監(jiān)控Kubernetes(K8s)集群(基于containerd)

    1、k8s環(huán)境 版本 v1.26.5 二進(jìn)制安裝Kubernetes(K8s)集群(基于containerd)—從零安裝教程(帶證書(shū)) 主機(jī)名 IP 系統(tǒng)版本 安裝服務(wù) master01 10.10.10.21 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubelet、proxy master02 10.10.10.22 rhel7.5 nginx、etcd、api-server、scheduler、controller-manager、kubel

    2024年02月16日
    瀏覽(101)
  • 【精品】kubernetes(K8S)集群top命令監(jiān)控 Pod 度量指標(biāo)

    【精品】kubernetes(K8S)集群top命令監(jiān)控 Pod 度量指標(biāo)

    提示:做到舉一反三就要學(xué)會(huì)使用help信息 找出標(biāo)簽是name=cpu-user的Pod,并過(guò)濾出使用CPU最高的Pod,然后把它的名字寫在已經(jīng)存在的/opt/cordon.txt文件里 了解pod指標(biāo),主要需要關(guān)注,CPU與內(nèi)存占用率;生產(chǎn)環(huán)境,可能有幾十個(gè)pod,我們?yōu)榱耸蛊浔阌诳焖贆z索到需要的pod,可以學(xué)會(huì)

    2024年02月16日
    瀏覽(93)
  • 【K8S】Rancher的安裝&使用Rancher搭建K8S集群&Rancher的使用

    【K8S】Rancher的安裝&使用Rancher搭建K8S集群&Rancher的使用

    rancher官方文檔 Rancher 是一個(gè) Kubernetes 管理工具,讓你能在任何地方和任何提供商上部署和運(yùn)行集群。 Rancher 可以創(chuàng)建來(lái)自 Kubernetes 托管服務(wù)提供商的集群,創(chuàng)建節(jié)點(diǎn)并安裝 Kubernetes,或者導(dǎo)入在任何地方運(yùn)行的現(xiàn)有 Kubernetes 集群。 Rancher 基于 Kubernetes 添加了新的功能,包括統(tǒng)

    2024年02月02日
    瀏覽(47)
  • Kubernetes(k8s)監(jiān)控與報(bào)警(qq郵箱+釘釘):Prometheus + Grafana + Alertmanager(超詳細(xì))

    Kubernetes(k8s)監(jiān)控與報(bào)警(qq郵箱+釘釘):Prometheus + Grafana + Alertmanager(超詳細(xì))

    ??The Begin??點(diǎn)點(diǎn)關(guān)注,收藏不迷路?? Kubernetes是一個(gè)高度動(dòng)態(tài)的容器編排平臺(tái),管理著大量的容器化應(yīng)用程序。 為了保證這些應(yīng)用程序的穩(wěn)定性和性能,我們需要實(shí)施有效的監(jiān)控和警報(bào)機(jī)制。在這篇文章中,我們將介紹如何使用Prometheus和Grafana構(gòu)建一個(gè)完整的Kubernetes監(jiān)控與

    2024年04月11日
    瀏覽(2166)
  • Kubernetes實(shí)戰(zhàn)(二十三)-k8s event監(jiān)控利器kube-eventer對(duì)接企微告警

    Kubernetes實(shí)戰(zhàn)(二十三)-k8s event監(jiān)控利器kube-eventer對(duì)接企微告警

    監(jiān)控是保障系統(tǒng)穩(wěn)定性的重要組成部分,在Kubernetes開(kāi)源生態(tài)中,資源類的監(jiān)控工具與組件監(jiān)控比較多。 cAdvisor:kubelet內(nèi)置的cAdvisor,監(jiān)控容器資源,如容器cpu、內(nèi)存; Kube-state-metrics:kube-state-metrics通過(guò)監(jiān)聽(tīng) API Server 生成有關(guān)資源對(duì)象的狀態(tài)指標(biāo),主要關(guān)注元數(shù)據(jù),比如 Dep

    2024年02月21日
    瀏覽(19)
  • 【K8S 云原生】K8S的圖形化工具——Rancher

    【K8S 云原生】K8S的圖形化工具——Rancher

    目錄 一、rancher概述 1、rancher概念 2、rancher和K8S的區(qū)別: 二、實(shí)驗(yàn) 1、安裝部署 2、給集群添加監(jiān)控: 3、創(chuàng)建命名空間: 4、創(chuàng)建deployment: 5、創(chuàng)建service: 6、創(chuàng)建ingress: 7、創(chuàng)建hpa 8、創(chuàng)建PVC 1、rancher概念 rancher實(shí)用一個(gè)開(kāi)源的企業(yè)級(jí)多集群的K8S管理平臺(tái) 2、rancher和K8S的區(qū)別

    2024年01月25日
    瀏覽(52)
  • Rancher管理K8S

    Rancher管理K8S

    Rancher是一個(gè)開(kāi)源的企業(yè)級(jí)多集群Kubernetes管理平臺(tái),實(shí)現(xiàn)了Kubernetes集群在混合云+本地?cái)?shù)據(jù)中心的集中部署與管理,以確保集群的安全性,加速企業(yè)數(shù)字化轉(zhuǎn)型。Rancher 1.0版本在2016年就已發(fā)布,時(shí)至今日,Rancher已經(jīng)成長(zhǎng)為企業(yè)在生產(chǎn)環(huán)境中運(yùn)行容器和Kubernetes的首要選擇。 本文

    2024年02月12日
    瀏覽(15)
  • 在kubernetes(k8s)集群內(nèi)查看master節(jié)點(diǎn)api-server地址信息及服務(wù)證書(shū)key

    在kubernetes(k8s)集群內(nèi)查看master節(jié)點(diǎn)api-server地址信息及服務(wù)證書(shū)key

    在k8s集群內(nèi)查找master節(jié)點(diǎn)方式: ?獲取集群信息如下: k8s master的api-server信息 在ROLES中帶有master節(jié)點(diǎn)的服務(wù)器內(nèi)查找apiserver地址信息 ? 查看k8s服務(wù)證書(shū)key ?

    2024年02月12日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包