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. 第三方监控工具(可选)
若需要更专业的监控能力,可选择第三方工具: