1. 使用kubectl命令行工具(基础监控)
kubectl是Kubernetes原生命令行工具,无需额外安装,适合快速查看集群状态。常用命令包括:
kubectl get nodes(显示节点名称、状态(Ready/NotReady)、版本等信息,所有节点为“Ready”表示节点正常);kubectl get pods --all-namespaces(查看所有命名空间的Pod运行状态(Running/Pending/CrashLoopBackOff等));kubectl get deployments --all-namespaces(查看Deployment的副本数、更新状态等);kubectl get services --all-namespaces(查看Service的集群IP、端口、外部IP等);kubectl get events --all-namespaces(查看集群近期事件,如Pod调度失败、节点异常等);kubectl describe pod <pod-name> -n <namespace>(查看Pod的详细信息,包括事件、容器状态、资源请求/限制等)。2. 使用Kubernetes Dashboard(可视化监控)
Kubernetes Dashboard是基于Web的UI工具,提供集群资源(节点、Pod、Deployment等)的实时可视化及基础管理功能。安装步骤:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml(使用最新版本的YAML文件);kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')(复制“token”字段的值);https://<节点IP>:30000(端口可能因配置不同而变化),粘贴Token登录即可查看集群状态。3. 使用Prometheus+Grafana(专业监控与可视化)
Prometheus是开源监控系统,Grafana是可视化工具,组合使用可实现对Kubernetes集群的全面监控(包括节点、Pod、容器资源利用率、应用指标等)。部署步骤:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts && helm install prometheus prometheus-community/kube-prometheus-stack(自动部署Prometheus Server、kube-state-metrics、Node Exporter等组件);helm install grafana grafana/grafana(部署Grafana服务);http://<节点IP>:3000,默认用户名/密码为admin),添加Prometheus数据源(URL为http://prometheus-operated.monitoring.svc.cluster.local:9090);4. 使用Metrics Server(资源指标收集)
Metrics Server是轻量级指标聚合器,用于收集CPU、内存等资源使用数据,为Horizontal Pod Autoscaler(HPA)等组件提供数据支持。安装步骤:
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml;kubectl get pods -n kube-system | grep metrics-server(确保Pod处于“Running”状态);kubectl top nodes(查看节点资源使用)、kubectl top pods --all-namespaces(查看Pod资源使用)。5. 使用第三方监控工具(企业级方案)
第三方工具提供更丰富的功能(如告警、日志集成、容量规划等),适合生产环境:
6. 日志监控(补充)
监控不仅包括性能指标,还需收集日志以排查问题。常用方案: