注意:可在我 百度網盤 直接下載 helm、minio 以及修改好的 gitlab、nginx-ingress、nexus 、heapster 資源包node
本系列文章:nginx
第一章:helm 一分鐘輕鬆完爆git
第二章:helm 輕鬆完爆公共倉庫api
第三章:helm 輕鬆完爆私有倉庫app
第四章:helm 輕鬆完爆 chartide
第五章:helm 輕鬆完爆 release工具
第六章:九析帶你輕鬆完爆 helm gitlabgitlab
第七章:九析帶你輕鬆完爆 helm nginx-ingressui
第八章:九析帶你輕鬆完爆 helm gitlab nfsgoogle
目錄
1 heapster 介紹
2 heapster 下載
3 heapster 配置
3.1 編輯 values.yaml 文件
3.2 建立 serviceaccount 和 clusterrolebinding
4 heapster 安裝
4.1 修改 deployment apiVersion
4.2 添加 deployment selector
5 heapster 使用
1 heapster 介紹
heapster 是 k8s 官方支持的集羣節點監控和分析組件。它首先從 master 中獲取全部 node 節點,而後再從各個 node 的 kubelet 獲取數據,而 kubelet 的數據又是從各自節點上運行的監控客戶端 cAdvisor 中獲取。三者之間的關係以下圖所示。heaspter 能夠將獲取到的監控信息導給 grafana 或 k8s dashboard 等報表展現工具進行顯示。
本章採用 helm v3.0.0 來安裝 heapster。
2 heapster 下載
helm pull stable/heapster
3 heapster 配置
3.1 編輯 values.yaml 文件
修改鏡像、啓動項和 rbac 帳戶:
image:
repository: registry.aliyuncs.com/google_containers/heapster-amd64
tag: v1.5.2
command:
- "/heapster"
- "--source=kubernetes.summary_api:https://kubernetes.default?kubeletPort=10250&kubeletHttps=true&insecure=true"
rbac:
serviceAccountName: heapster-jiuxi
3.2 建立 serviceaccount 和 clusterrolebinding
建立 heapster-jiuxi.yaml 文件,內容以下:
apiVersion: v1
kind: ServiceAccount
metadata:
name: heapster-jiuxi
namespace: kube-system
labels:
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
annotations:
rbac.authorization.kubernetes.io/autoupdate: "true"
name: heapster-jiuxi
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: heapster-jiuxi
namespace: kube-system
執行 heapster-jiuxi.yaml 文件:
kubectl apply -f heapster-jiuxi.yaml
4 heapster 安裝
helm install heapster -n kube-system heapster
若是有以下報錯,說明你的 k8s 版本過高,過於前衛:
4.1 修改 deployment apiVersion
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Deployment" in version "extensions/v1beta1"
執行以下語句,輕鬆完爆:
grep -irl 'extensions/v1beta1' heapster/ | xargs sed -i 's#extensions/v1beta1#apps/v1#g'
4.2 添加 deployment selector
若是執行仍是報錯,報錯內容以下:
Error: unable to build kubernetes objects from release manifest: error validating "": error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpe
編輯 templates/deployment.yaml 文件,添加內容以下圖:
再次執行,heapster 安裝成功。截圖以下:
5 heapster 使用
kubectl top nodes
注意:若是命令執行後,顯示 error: metrics not available yet,你能夠稍微等一下,由於創建通訊和獲取信息須要一段時間。
自此,helm3 輕鬆完爆 heapster。