Day 10: ELK Stack 安裝與多節點
Day 11: Logstash 配置與查詢系統日誌
Day 12: Redis 安裝與後台
Day 13: Redis Cluster 集群配置
Day 14: Prometheus 與 Grafana 安裝與監控
Day 15: 配置 Prometheus 監控 Kubernetes 叢集
Day 16: 使用 Grafana 進行數據視覺化及串接告警
Helm 是 Kubernetes 的包管理工具,用於簡化應用程序的部署和管理。它利用「Chart」這些預定義的模板和配置文件來定義、安裝和升級 Kubernetes 應用。Helm 使得應用的部署過程更一致、可重用,並且可以方便地管理複雜的應用配置和依賴關係。通過 Helm,可以快速地部署和升級應用,並輕鬆地回滾到先前的版本。
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
#加入分支
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
#更新
helm repo update
#生成配置文件(待會會用到)
helm show values prometheus-community/kube-prometheus-stack >./values.yaml
#編輯這個配置文件
sudo nano values.yaml
因爲它是全家餐,所以我會先把不必要的功能關掉
例如:Grafana我們已經有架設了,所以配置為false關閉
還有一點是將prometheus的位置(端口)暴露出來,配置為NodePort
修改完成之後就能正式進行安裝
#安裝(在master節點上做)
helm install -f values.yaml kube-prometheus-stack prometheus-community/kube-prometheus-stack
#檢查服務有沒有起來
kubectl --namespace default get pods -l "release=kube-prometheus-stack"
#檢查端口號碼
kubectl get svc
#如果要卸載
helm uninstall kube-prometheus-stack
#檢查是否已安裝
helm ls
kubectl get pod -n default
#查看暴露端口
kubecte get svc -n default
瀏覽器訪問端口:30090 檢查監控目標是否都為UP
------以下是例外情形debug------
需要修改k8s配置文件中的監聽地址
#修改監聽端口kube-controller-manager(在master主機)
sed -e "s/- --bind-address=127.0.0.1/- --bind-address=0.0.0.0/" -i /etc/kubernetes/manifests/kube-controller-manager.yaml
#修改監聽端口kube-scheduler(在master主機)
sed -e "s/- --bind-address=127.0.0.1/- --bind-address=0.0.0.0/" -i /etc/kubernetes/manifests/kube-scheduler.yaml
#或者你也可以直接編輯文件(這行只是範例,不用執行)
sudo vi /etc/kubernetes/manifests/kube-controller-manager.yaml
剩下kube-proxy了
#修改監聽端口kube-proxy
kubectl edit cm/kube-proxy -n kube-system
在kind底下加入這行
kind: KubeProxyConfiguration
metricsBindAddress: "0.0.0.0:10249"
刪除pod並重啟
kubectl delete pod -l k8s-app=kube-proxy -n
------檢查用的筆記------
k8s相關組件的預設端口如下:
kube-controller-manager
<K8S主節點>:10257
kube-etcd
<K8S主節點>:2381
kube-proxy
<K8S主節點>:10249
kube-scheduler
<K8S主節點>:10259
coredns
<K8S主節點>:9153
------檢查用的筆記------
------以上是例外情形debug------
再來就能參照上一篇文章的步驟,回到Grafana新增這一條數據源
新增數據源
從Home > Connections > Connect data > 搜尋Prometheus > Create
填入主機地址,其他維持預設
並將這個新的數據源命名為「Prometheus-K8S」等容易識別的名字
記得這次的端口號是30090(或其他設置)喔!
導入面板模板
模板來源:官方的Grafana Labs上面所分享
從 Home > Dashboards > Import > 貼入ID「18283」之後點擊「Load」
數據源記得都要選中剛才新增的「Prometheus-K8S」才保存退出喔