如何监控CentOS上K8s的部署状态
在CentOS系统上监控Kubernetes(K8s)集群的部署状态,需结合命令行工具(快速排查)、可视化工具(直观展示)、告警系统(主动通知)三类方案,覆盖从基础到高级的监控需求。以下是具体方法:
1. 使用kubectl命令行工具(基础监控)
kubectl是K8s官方命令行工具,可直接与集群API交互,快速查看部署状态,适合日常运维和故障排查。
- 查看节点状态:确认集群节点是否正常运行(
Ready状态为正常)。kubectl get nodes - 查看Pod状态:检查应用Pod的运行状态(
Running为正常,Pending表示未调度,CrashLoopBackOff表示容器崩溃)。kubectl get pods --all-namespaces - 查看Deployment状态:确认Deployment的副本数是否达到预期(
AVAILABLE列表示可用副本数)。kubectl get deployments --all-namespaces - 查看详细信息:通过
describe命令获取资源的具体事件(如调度失败、镜像拉取错误)。kubectl describe pod-n # 查看Pod详情 kubectl describe deployment -n # 查看Deployment详情 - 查看集群事件:获取集群内发生的异常事件(如节点失效、Pod驱逐)。
kubectl get events --all-namespaces
这些命令能快速定位部署中的常见问题(如Pod无法启动、副本数不足),是运维人员的基础工具。
2. 使用Kubernetes Dashboard(Web可视化)
Kubernetes Dashboard是官方提供的Web界面,可直观展示集群资源状态,适合需要图形化管理的场景。
- 安装Dashboard:通过
kubectl应用官方YAML文件部署。kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml - 访问Dashboard:
- 获取访问Token(用于登录):
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') - 打开浏览器访问:
https://,输入Token登录。:30000
- 获取访问Token(用于登录):
- 功能:
- 实时查看节点、Pod、Deployment、Service等资源的运行状态;
- 支持创建/删除资源、查看日志、执行命令(如
exec进入Pod); - 提供简单的资源监控图表(如CPU、内存使用率)。
Dashboard适合需要快速查看集群状态的团队,但功能较基础,复杂监控需结合其他工具。
3. 使用Prometheus+Grafana(专业监控与可视化)
Prometheus(监控系统)+Grafana(可视化平台)是K8s生态中最流行的监控组合,支持全面的指标采集、灵活的可视化和告警功能,适合生产环境。
- 安装Prometheus:通过Helm Chart快速部署(推荐),简化配置流程。
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm install prometheus prometheus-community/kube-prometheus-stack - 安装Grafana:通过YUM或Helm安装,配置Prometheus为数据源。
登录Grafana(sudo yum install -y grafana sudo systemctl start grafana-server sudo systemctl enable grafana-serverhttp://,默认账号:3000 admin/admin),添加Prometheus数据源。 - 配置监控:
- 导入Grafana官方提供的K8s监控仪表盘(如
Kubernetes Cluster Monitoring,ID:193); - 自定义仪表盘,添加关键指标(如Deployment副本数、Pod重启次数、节点CPU/内存使用率)。
- 导入Grafana官方提供的K8s监控仪表盘(如
- 告警功能:通过Prometheus的
alertmanager组件设置告警规则(如Pod连续重启超过3次时发送邮件/Slack通知)。
Prometheus+Grafana适合需要深度监控和自定义视图的企业级场景,能提前发现潜在问题(如资源不足、部署失败)。
4. 使用第三方监控工具(企业级增强)
若需要开箱即用的企业级功能(如自动发现集群、多租户支持、高级告警),可选择以下第三方工具:
- Datadog:支持K8s集群的全面监控(应用、容器、基础设施),提供实时性能视图、异常检测和告警;
- New Relic:整合K8s和应用性能监控(APM),跟踪请求链路,识别性能瓶颈;
- Dynatrace:基于AI的自动监控,支持微服务追踪和根因分析;
- Zabbix:传统企业级监控工具,支持K8s集群的指标采集和告警。
这些工具通常需要付费,但提供更完善的支持和维护,适合中大型企业。
5. 日志监控(辅助排查)
部署状态的异常往往伴随日志错误,需结合日志分析工具定位问题:
- 查看Pod日志:通过
kubectl查看Pod的标准输出日志(-f参数实时跟踪)。kubectl logs-n kubectl logs -f -n # 实时日志 - 查看kubelet日志:kubelet是K8s节点代理,其日志能反映节点级别的异常(如容器运行时问题)。
journalctl -u kubelet -f - 集中式日志管理:使用ELK(Elasticsearch+Logstash+Kibana)或Loki+Grafana收集、存储和分析集群日志,快速定位问题根源(如应用崩溃、配置错误)。
以上方法覆盖了从基础命令行到企业级可视化的监控需求,可根据集群规模(如测试环境用Dashboard+命令行,生产环境用Prometheus+Grafana+第三方工具)和预算选择合适的方案。
以上就是关于“如何监控centos上k8s的部署状态”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm