溫馨提示×

溫馨提示×

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

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

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

發(fā)布時間:2020-07-08 10:49:22 來源:網(wǎng)絡(luò) 閱讀:3120 作者:loong576 欄目:系統(tǒng)運維

環(huán)境說明:

主機名 操作系統(tǒng)版本 ip docker version kubelet version helm version 配置 備注
master Centos 7.6.1810 172.27.9.131 Docker 18.09.6 V1.14.2 v2.14.3 2C2G master主機
node01 Centos 7.6.1810 172.27.9.135 Docker 18.09.6 V1.14.2 v2.14.3 2C2G node節(jié)點
node02 Centos 7.6.1810 172.27.9.136 Docker 18.09.6 V1.14.2 v2.14.3 2C2G node節(jié)點

?

k8s集群部署詳見:Centos7.6部署k8s(v1.14.2)集群
k8s學(xué)習(xí)資料詳見:基本概念、kubectl命令和資料分享
k8s高可用集群部署詳見:Centos7.6部署k8s v1.16.4高可用集群(主備模式)
?

一、prometheus簡介

Prometheus是一個開源系統(tǒng)監(jiān)控和警報工具包,最初是在soundcloud構(gòu)建的。自2012年成立以來,許多公司和組織都采用了Prometheus,該項目擁有一個非?;钴S的開發(fā)人員和用戶社區(qū)。它現(xiàn)在是一個獨立的開源項目,獨立于任何公司進行維護,于2016年加入了云原生計算基金會,成為繼kubernetes之后的第二個托管項目。

特點:

  • 用度量名和鍵值對識別時間序列數(shù)據(jù)的多維數(shù)據(jù)模型
  • 靈活的查詢語言
  • 不依賴分布式存儲;單服務(wù)器節(jié)點是自治的
  • 通過http上的pull模型進行時間序列收集
  • 通過中間網(wǎng)關(guān)支持推送時間序列
  • 通過服務(wù)發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標(biāo)
  • 多種圖形和儀表板支持模式

在微服務(wù)架構(gòu)里,其對多維數(shù)據(jù)收集和查詢有很好的的支持。

二、prometheus架構(gòu)

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

Prometheus從jobs獲取度量數(shù)據(jù),也直接或通過推送網(wǎng)關(guān)獲取臨時jobs的度量數(shù)據(jù)。它在本地存儲所有被獲取的樣本,并在這些數(shù)據(jù)運行規(guī)則,對現(xiàn)有數(shù)據(jù)進行聚合和記錄新的時間序列,或生成警報。通過Grafana或其他API消費者,可以可視化的查看收集到的數(shù)據(jù)。

三、Prometheus Operator介紹

Prometheus Operator是CoreOS開發(fā)的基于Prometheus的Kubernetes監(jiān)控方案

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

Prometheus Operator:整合Kubernetes和Prometheus的最佳方法

Prometheus Operator 功能更特點:

  • 創(chuàng)建/銷毀: 在Kubernetes namespace中更容易啟動一個prometheus實例,一個特定的應(yīng)用程序或團隊更容易使用Operator。
  • 簡單配置: 配置Prometheus的基礎(chǔ),比如versions, persistence, retention policies和來自本機kubernetes資源的副本。
  • 通過標(biāo)簽的目標(biāo)服務(wù): 基于常見的Kubernetes label查詢,自動生成監(jiān)控target 配置;無需學(xué)習(xí)prometheus特定的配置語言。

工作流程:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

四、Prometheus Operator部署

1.安裝文件下載

[root@master ~]# git clone https://github.com/coreos/kube-prometheus.git

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

2.鏡像下載

下載鏡像:

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/configmap-reload:v0.0.1

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/alertmanager:v0.18.0

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/kube-state-metrics:v1.8.0

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/kube-rbac-proxy:v0.4.1

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/node-exporter:v0.18.1

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/k8s-prometheus-adapter-amd64:v0.5.0

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/prometheus-config-reloader:v0.33.0

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/prometheus:v2.11.0

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/prometheus-operator:v0.33.0

docker pull registry.cn-hangzhou.aliyuncs.com/loong576/grafana:6.4.3

打tag:

docker tag  registry.cn-hangzhou.aliyuncs.com/loong576/configmap-reload:v0.0.1 quay.io/coreos/configmap-reload:v0.0.1

docker tag registry.cn-hangzhou.aliyuncs.com/loong576/alertmanager:v0.18.0 quay.io/prometheus/alertmanager:v0.18.0

docker tag registry.cn-hangzhou.aliyuncs.com/loong576/kube-state-metrics:v1.8.0 quay.io/coreos/kube-state-metrics:v1.8.0

docker tag registry.cn-hangzhou.aliyuncs.com/loong576/kube-rbac-proxy:v0.4.1 quay.io/coreos/kube-rbac-proxy:v0.4.1

docker tag registry.cn-hangzhou.aliyuncs.com/loong576/node-exporter:v0.18.1  quay.io/prometheus/node-exporter:v0.18.1

docker tag  registry.cn-hangzhou.aliyuncs.com/loong576/k8s-prometheus-adapter-amd64:v0.5.0 quay.io/coreos/k8s-prometheus-adapter-amd64:v0.5.0

docker tag  registry.cn-hangzhou.aliyuncs.com/loong576/prometheus-config-reloader:v0.33.0 quay.io/coreos/prometheus-config-reloader:v0.33.0

docker tag registry.cn-hangzhou.aliyuncs.com/loong576/prometheus:v2.11.0 quay.io/prometheus/prometheus:v2.11.0

docker tag registry.cn-hangzhou.aliyuncs.com/loong576/prometheus-operator:v0.33.0  quay.io/coreos/prometheus-operator:v0.33.0

docker tag registry.cn-hangzhou.aliyuncs.com/loong576/grafana:6.4.3 grafana/grafana:6.4.3

刪除鏡像:

docker rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/configmap-reload:v0.0.1

docker rmi -f registry.cn-hangzhou.aliyuncs.com/loong576/alertmanager:v0.18.0

docker  rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/kube-state-metrics:v1.8.0

docker  rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/kube-rbac-proxy:v0.4.1

docker  rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/node-exporter:v0.18.1

docker  rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/k8s-prometheus-adapter-amd64:v0.5.0

docker  rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/prometheus-config-reloader:v0.33.0

docker  rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/prometheus:v2.11.0

docker  rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/prometheus-operator:v0.33.0

docker  rmi -f  registry.cn-hangzhou.aliyuncs.com/loong576/grafana:6.4.3

以上三個步驟所有node節(jié)點都執(zhí)行

3.執(zhí)行安裝

[root@master kube-prometheus]# kubectl create -f manifests/setup
[root@master kube-prometheus]# kubectl create -f manifests/

4.資源查看

[root@master kube-prometheus]# kubectl get all -n monitoring 
[root@master kube-prometheus]# kubectl get prometheus --all-namespaces -o wide

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

所有資源都在monitoring命名空間中。

5.更改訪問方式

[root@master kube-prometheus]# kubectl edit -n monitoring service prometheus-k8s
service/prometheus-k8s edited
[root@master kube-prometheus]# kubectl edit -n monitoring service grafana
service/grafana edited
[root@master kube-prometheus]# kubectl edit -n monitoring service alertmanager-main
service/alertmanager-main edited

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

分別修改service prometheus-k8s、grafana和alertmanager-main,service類型為NodePort,端口分別為30021、30022、30023

五、頁面展示

1.訪問 Prometheus

http://172.27.9.131:30021

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

2.訪問 Alert Manager

http://172.27.9.131:30023

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群
k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

3.訪問 Grafana

http://172.27.9.131:30022 用戶名密碼都為admin

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

內(nèi)置模板查看:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

集群資源查看:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

kubelet查看:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

StatefulSets查看:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

Pod查看:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

API查看:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

namespace查看:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

查看各節(jié)點資源使用:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

Prometheus查看:

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

其他模板:

自帶的模板很豐富,不過也可以下載其他模板,比如 ‘1 Node Exporter for Prometheus 監(jiān)控展示看板 update!’ :https://grafana.com/api/dashboards/8919/revisions/10/download

k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

六、Prometheus Operator卸載

[root@master kube-prometheus]# kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup

本文所有腳本和配置文件已上傳:k8s實踐(十二):Prometheus Operator監(jiān)控Kubernetes集群

向AI問一下細(xì)節(jié)

免責(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)容。

AI