1. 基礎命令行監控(kubectl)
kubectl
是Kubernetes原生命令行工具,無需額外安裝,適合快速查看集群基礎狀態。常用命令包括:
kubectl get nodes
:查看集群節點狀態(Ready/NotReady);kubectl get pods --all-namespaces
:查看所有命名空間的Pod狀態(Running/Pending/CrashLoopBackOff等);kubectl get deployments --all-namespaces
:查看Deployment的副本數及更新狀態;kubectl top nodes/pods
:查看節點和Pod的CPU、內存使用情況(需提前安裝Metrics Server)。2. 可視化監控組合(Prometheus + Grafana)
這是Debian上K8s集群的主流監控方案,適合中大型集群。
helm install prometheus prometheus-community/prometheus
)可簡化安裝,自動配置節點、Pod的指標抓取任務;http://<grafana-ip>:3000
,配置URL為http://<prometheus-service-ip>:9090
),并導入官方K8s儀表板(如Kubernetes Cluster Monitoring、Node Exporter Full等);node-exporter
(收集節點級CPU、內存、磁盤指標,kubectl apply -f https://raw.githubusercontent.com/prometheus/node_exporter/master/deploy/daemonset.yaml
)、kube-state-metrics
(收集Deployment、Pod等資源狀態指標,kubectl apply -f https://github.com/kubernetes-sigs/kube-state-metrics/releases/latest/download/components.yaml
),確保Prometheus能獲取全面的集群指標。3. 容器級監控(cAdvisor)
cAdvisor是K8s內置的容器資源監控工具,默認集成在kubelet中,無需額外部署。它能采集容器的CPU、內存、網絡、磁盤使用情況,通過kubelet的API暴露(默認端口8080),可通過kubectl proxy
訪問(http://<node-ip>:8080/api/v1/nodes/<node-name>/proxy/metrics
)。適合快速查看單個容器的資源消耗,但無長期存儲與告警功能。
4. 終端管理工具(K9s/Kubebox)
curl -LO "https://github.com/derailed/k9s/releases/latest/download/k9s_$(uname -s)_$(uname -m).tar.gz"
并解壓到/usr/local/bin
),通過k9s login
登錄集群,可實時查看節點、Pod、Deployment的狀態,支持快捷鍵操作(如d
刪除Pod、e
查看日志);kubectl apply -f https://raw.githubusercontent.com/coreos/kubebox/master/deploy/kubernetes/kubebox.yaml
部署,訪問Service即可使用。5. 第三方監控工具(可選)
若需要更專業的監控能力,可選擇第三方工具: