k8s實踐(十一):heapster+influxdb+grafana
環境說明:
主機名 | 作業系統版本 | ip | docker version | kubelet version | 配置 | 備註 |
---|---|---|---|---|---|---|
master | Centos 7.6.1810 | 172.27.9.131 | Docker 18.09.6 | V1.14.2 | 2C2G | master主機 |
node01 | Centos 7.6.1810 | 172.27.9.135 | Docker 18.09.6 | V1.14.2 | 2C2G | node節點 |
node02 | Centos 7.6.1810 | 172.27.9.136 | Docker 18.09.6 | V1.14.2 | 2C2G | node節點 |
k8s叢集部署詳見:
k8s學習資料詳見:
一、簡介
1.heapster簡介
Heapster是Kubernetes原生的叢集監控方案,Kubelet自身就包含了一個名為cAdvisor的agent,它會收集整個節點和節點上執行的所有單獨容器的資源消耗情況。Heapster以pod的方式執行在某個節點上,它透過普通的KubernetesService暴露服務,使外部可以透過一個穩定的IP地址訪問。它從叢集中所有的cAdvisor收集資料,然後透過一個單獨的地址暴露。
Heapster 將資料按照 Pod 進行分組,將它們儲存到預先配置的 backend 並進行視覺化展示。Heapster 當前支援的 backend 有 InfluxDB(透過 Grafana 展示),Google Cloud Monitoring 等。
2.lnfluxDB和Grafana 簡介
lnfluxDB是一個用於儲存應用指標,以及其他監控資料的開源的時序資料庫。Grafana是一個擁有著華麗的web控制檯的資料分析和視覺化套件,同樣也是開源的,它允許使用者對InfluxDB中儲存的資料進行視覺化,同時發現應用程式的資源使用行為是如何隨時間變化的。
二、heapster安裝
1.安裝檔案和映象下載
安裝檔案下載:
[root@master ~]# git clone
或者
[root@master ~]# wget
[root@master ~]# unzip master.zip
兩種方式都可以下載安裝檔案,本文采取第二種方式
映象下載及打標籤
[root@node02 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-grafana-amd64:v5.0.4
[root@node02 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-influxdb-amd64:v1.5.2
[root@node02 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-amd64:v1.5.4
[root@node02 ~]# docker image tag registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-amd64:v1.5.4 k8s.gcr.io/heapster-amd64:v1.5.4
[root@node02 ~]# docker image tag registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-influxdb-amd64:v1.5.2 k8s.gcr.io/heapster-influxdb-amd64:v1.5.2
[root@node02 ~]# docker image tag registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-grafana-amd64:v5.0.4 k8s.gcr.io/heapster-grafana-amd64:v5.0.4
[root@node02 ~]# docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-amd64:v1.5.4 registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-influxdb-amd64:v1.5.2 registry.cn-hangzhou.aliyuncs.com/google_containers/heapster-grafana-amd64:v5.0.4
注意:每個節點都需執行以上命令
2.安裝檔案修改
[root@master ~]# cd heapster-master/deploy/kube-config/
[root@master kube-config]# pwd
/root/heapster-master/deploy/kube-config
[root@master kube-config]# ll
總用量 0
drwxr-xr-x 2 root root 27 11月 30 2018 google
drwxr-xr-x 2 root root 68 10月 22 15:00 influxdb
drwxr-xr-x 2 root root 32 10月 22 15:02 rbac
drwxr-xr-x 2 root root 38 11月 30 2018 standalone
drwxr-xr-x 2 root root 170 11月 30 2018 standalone-test
drwxr-xr-x 2 root root 145 11月 30 2018 standalone-with-apiserver
[root@master kube-config]# cd influxdb/
[root@master influxdb]# ll
總用量 12
-rw-r--r-- 1 root root 2294 10月 22 14:51 grafana.yaml
-rw-r--r-- 1 root root 1162 10月 22 15:00 heapster.yaml
-rw-r--r-- 1 root root 997 10月 22 14:51 influxdb.yaml
[root@master influxdb]# cd ../rbac/
[root@master rbac]# ll
總用量 4
-rw-r--r-- 1 root root 263 10月 22 15:02 heapster-rbac.yaml
分別修改檔案grafana.yaml、influxdb.yaml、heapster.yaml和heapster-rbac.yaml
修改grafana.yaml,port型別為NodePort,nodePort為30011,可透過方式訪問
修改influxdb.yaml,port型別為NodePort,nodePort為30012,grafana配置資料來源會用到
修改heapster.yaml中的source和sink引數
source: 指定資料獲取源
source引數 | 說明 |
---|---|
inClusterConfig | 在與heapster的名稱空間關聯的服務帳戶中使用kube config(預設值:true) |
kubeletPort | 指定kubelet的使用埠,預設10255 |
kubeletHttps | 是否使用https去連線kubelets(預設:false) |
insecure | 是否使用安全證書(預設:false) |
auth | 安全認證 |
useServiceAccount | 是否使用K8S的安全令牌(預設:false) |
sink: 指定後端資料儲存
sink引數 | 說明 |
---|---|
user | InfluxDB使用者,預設root |
pw | InfluxDB密碼,預設root |
db | 資料庫名,預設k8s |
retention | 預設infloxDB保留策略的持續時間,預設值0,表示無限 |
secure | 安全連線到InfluxDB(預設:false) |
insecuressl | 忽略SSL證書有效性(預設值:false) |
withfields | 使用InfluxDB fields(預設:false) |
cluster_name | 不同cubernete叢集的叢集名稱(預設:default) |
disable_counter_metrics | 禁用接收計數器度量以流入資料庫(預設:false) |
concurrency | 併發數(預設:1) |
修改heapster-rbac.yaml,將許可權修改為cluster-admi
3.執行安裝
[root@master kube-config]# pwd
/root/heapster-master/deploy/kube-config
[root@master kube-config]# kubectl apply -f influxdb/
deployment.extensions/monitoring-grafana created
service/monitoring-grafana created
serviceaccount/heapster created
deployment.extensions/heapster created
service/heapster created
deployment.extensions/monitoring-influxdb created
service/monitoring-influxdb created
[root@master kube-config]# kubectl apply -f rbac/heapster-rbac.yaml
clusterrolebinding.rbac.authorization.k8s.io/heapster created
4.資源檢視
[root@master kube-config]# kubectl get all -n kube-system -o wide |grep -e monitor -e heapster
三、Grafana配置
1.登入grafana
登陸地址:
2.配置DataSource
url為
3.匯入模板
模板下載
下載地址: 、
匯入
同理匯入kubernetes-node-statistics
四、檢視Grafana
五、資源刪除
[root@master ~]# kubectl delete -n kube-system ClusterRoleBinding heapster [root@master ~]# kubectl get all -n kube-system -o wide |grep -e monitor -e heapster |awk '{print $1}'|xargs kubectl delete -n kube-system
[root@master ~]# rm -rf heapster-master master.zip
本文所有配置檔案已上傳github:
- 如果您對我的專題內容感興趣,也可以關注我的部落格:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4692/viewspace-2824192/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- k8s實踐——HPA實踐例項K8S
- kubernetes實踐之十一:EFK
- 備份K8S實踐K8S
- kubernetes實踐之三十一:kubectl
- k8s loadbalancer與ingress實踐K8S
- Spark on K8s 在茄子科技的實踐SparkK8S
- k8s備份恢復實踐--veleroK8S
- K8s 原生 Serverless 實踐:ASK 與 KnativeK8SServer
- Kubernetes(k8s)部署安全最佳實踐K8S
- 【原創】彼得德魯克《管理的實踐》札記(十一)
- kubernetes實踐之七十一:Istio之流量管理(下)
- kubernetes實踐之六十一:kubectl port-forwardForward
- K8S容器雲CaaS平臺的落地實踐K8S
- 雙十一SSR優化實踐:秒開率提升新高度優化
- kubernetes實踐之二十一:物件與元件簡介物件元件
- Filebeat 收集K8S 日誌,生產環境實踐K8S
- K8S有狀態服務-StatefulSet使用最佳實踐K8S
- K8s 生產最佳實踐-限制 NameSpace 資源用量K8Snamespace
- 基於 Gitlab + Harbor + K8s + Kuboard 的 CI 實踐GitlabK8S
- 重新整理 .net core 實踐篇————跨域問題四十一]跨域
- Vuejs進階知識(二十一)【生命週期,最佳實踐】VueJS
- 第 36 期 k8s context 實踐原始碼閱讀K8SContext原始碼
- Docker+Kubernetes(k8s)微服務容器化實踐DockerK8S微服務
- 【原創】一層Nginx反向代理K8S化部署實踐NginxK8S
- Flink on K8s 在京東的持續優化實踐K8S優化
- 重新整理 .net core 實踐篇—————靜態中介軟體[二十一]
- 提升 Hybrid 體驗:餓了麼雙十一 PHA 框架技術實踐框架
- kubernetes實踐之五十一:kube-proxy執行機制分析
- K8s叢集nginx-ingress監控告警最佳實踐K8SNginx
- 重新整理 .net core 實踐篇—————配置系統之簡單配置中心[十一]
- 重新整理 .net core 實踐篇—————服務與配置之間[十一二]
- kubernetes實踐之四十一:Pod自動擴容與縮容
- 【SpringCloud】(十一):超時機制和斷路器及 Hystrix簡單實踐SpringGCCloud
- 51Testing叢書連載:(十一) QTP自動化測試實踐QT
- 直擊痛點,詳解 K8s 日誌採集最佳實踐K8S
- 一文看懂 K8s 日誌系統設計和實踐K8S
- k8s 基於RBAC的認證、授權介紹和實踐K8S
- B站基於K8S的雲原生混部技術實踐K8S