本系列文章:node
第一章:九析帶你輕鬆完爆 helm3 安裝nginx
第二章:九析帶你輕鬆完爆 helm3 公共倉庫git
第三章:九析帶你輕鬆完爆 helm3 私有倉庫api
第四章:九析帶你輕鬆完爆 helm3 chart瀏覽器
第五章:九析帶你輕鬆完爆 helm3 release服務器
第六章:九析帶你輕鬆完爆 helm3 gitlab網絡
第七章:九析帶你輕鬆完爆 helm3 nginx-ingressapp
第八章:九析帶你輕鬆完爆 helm3 gitlab nfside
第九章:九析帶你輕鬆完爆 helm3 nexusgitlab
第十一章:九析帶你輕鬆完爆 helm3 kubernetes-dashboard
目錄
1 前言
2 下載 grafana
3 建立 grafana 命名空間
4 安裝 grafana
4.1 修改配置
4.2 安裝 prometheus
4.2.1 修改 deployment apiVersion
4.2.2 添加 deployment selector
4.2.3 修改 ingress apiVersion
4.3 驗證 grafana
5 安裝 nfs
6 建立 pv
7 建立 secret
7.1 建立自簽名證書
7.2 根據證書生成 secret
8 驗證 grafana
1 前言
本文采用 helm3 v3.0.0;k8s v1.16.3。helm 倉庫配置以下:
2 下載 grafana
helm 搜索 grafana chart:
helm search repo grafana
helm 下載解壓 grafana chart:
helm fetch stable/grafana
tar -zxvf grafana-0.7.0.tgz
3 建立 grafana 命名空間
kubectl create ns grafana
4 安裝 grafana
4.1 修改配置
編輯 values.yaml,重點修改 image 和 ingress 選項。其中 grafana image 版本要改成:5.0.4。此外由於本文使用了 ingress,因此你在使用此選項前確保已經正確安裝了 nginx-ingress。能夠參閱本人《helm 3 nginx-ingress》查看具體安裝細節,並保持安裝網絡配置是 hostNetwork。
4.2 安裝 prometheus
第一個 grafana 是 helm release 名,第二個是命名空間,第三個是 grafana 解壓目錄:
helm install grafana -n grafana grafana
4.2.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' grafana/ | xargs sed -i 's#extensions/v1beta1#apps/v1#g'
4.2.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.DeploymentSpec
編輯 templates/deployment.yaml 文件,添加以下內容:
4.2.3 修改 ingress apiVersion
再次安裝若是報以下錯誤:
Error: unable to build kubernetes objects from release manifest: unable to recognize "": no matches for kind "Ingress" in version "apps/v1"
編輯 templates/ingress.yaml 文件,將 apps/v1 修改成 extensions/v1beta1:
4.3 驗證 grafana
下圖證實安裝成功:
使用 helm search 查看:
helm list -n grafana
安裝成功,並不表明運行成功,還須要進一步的配置。
5 安裝 nfs
如何安裝 nfs 服務器,請參考本人《輕鬆完爆 nfs 安裝》,不用擔憂,簡單到爆,讓你分分鐘輕鬆完爆。
mkdir -p /data/nfs/grafana/1g
chmod 777 -R /data/nfs/grafana
echo '/data/nfs/grafana 10.110.0.0/16(rw,sync,no_root_squash)' >> /etc/exports
systemctl restart nfs
6 建立 pv
安裝完 nfs 後,查看 grafana pvc:
kubectl get pvc -n grafana
發現 pvc 處於 pending 狀態,緣由在於並無可用的 pv 能夠使用,須要手動建立 pv:
建立 pv-grafana-1g.yaml 文件:
apiVersion: v1
kind: PersistentVolume
metadata:
name: grafana-pv
spec:
capacity:
storage: 1Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 10.110.101.106
path: /data/nfs/grafana/1g
執行以下語句建立 pv:
kubectl apply -f pv-grafana-1g.yaml
查看 pvc 狀態(須要等幾秒),發現 pvc 處於綁定狀態。
7 建立 secret
7.1 建立自簽名證書
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./tls.key -out ./tls.crt -subj "/CN=jiuxi.grafana.org"
7.2 根據證書生成 secret
kubectl -n grafana create secret tls grafana-server-tls --key ./tls.key --cert ./tls.crt
8 驗證 grafana
打開瀏覽器,訪問 https://jiuxi.grafana.org(須要修改 /etc/hosts 文件,添加域名解析記錄,注意 IP 是 nginx-ingress pod 所在宿主機 IP,切記)。
輸入用戶名 admin / hellojiuxi,登陸:
自此,輕鬆完爆 helm3 安裝 grafana。