昨天把 kube-prometheus-stack 裝起來了,今天要打開 Grafana,看這 24 天做的東西在圖上長什麼樣子
先確認 Service 的名字,因為 Helm 會在前面加上安裝時取的名字
kubectl get services -n monitoring

然後 port-forward
kubectl port-forward -n monitoring service/monitoring-grafana 3000:80

這行的 3000 跟 80 我以為 Grafana 在容器裡聽 80。實際上剛好相反,Grafana 的 Container 聽的是 3000,Service 對外開的才是 80,然後 targetPort 再轉回容器的 3000。而 port-forward 這行的寫法是本機端口在前、Service 端口在後,所以 3000 是我本機要用的,80 是 Service 那邊的。本機這個 3000 跟容器那個 3000 只是數字一樣
預設帳號是 admin,密碼在 Secret 裡面。用 Day 12 的方法撈出來
kubectl get secret monitoring-grafana -n monitoring -o jsonpath="{.data.admin-password}"
然後在 PowerShell 解碼
[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String("貼上剛剛那一串"))
進去之後不用設定資料來源,chart 已經幫你把 Prometheus 接好了。左邊選單找 Dashboards,裡面已經有一整排內建的
先看 Kubernetes / Compute Resources / Namespace (Pods)


上面有個 namespace 的下拉選單,選 ithome-lab,圖就只剩我自己那三個 Pod;建 namespace 不只是為了整齊,查東西的時候也省事
Memory Usage的數字大概在幾 MB 到十幾 MB 之間。回頭對照之前我設的 requests 64Mi 跟 limits 128Mi,會發現我當初那個數字給得比實際需要大很多。這就是有監控跟沒監控的差別,之前設 resources 憑感覺猜,現在有數字可以往回修
有些 Dashboard 會把 requests 跟 limits 畫成水平線疊在用量上面,一眼就能看出離天花板還有多遠
Kubernetes / Compute Resources / Cluster 是整個叢集的總覽,可以看到 requests 已經預約掉多少的比例
Kubernetes / Kubelet 是節點層級的,Pod 數量、容器啟動次數這些
Node Exporter / Nodes 是機器本身,CPU、記憶體、磁碟。因為 kind 的 Node 其實是 Docker 容器,這裡看到的數字其實反映的是我的筆電
ok明天見 :D
