怎样监控centos k8s运行状态
一、命令行工具:快速查看集群状态
1. kubectl(官方必备工具)
kubectl是Kubernetes的核心命令行工具,可用于直接查询集群资源状态、排查问题。常用命令包括:
- 查看所有命名空间的Pod运行状态:
kubectl get pods --all-namespaces
; - 查看特定命名空间的Pod详情(如
default
命名空间):kubectl describe pod < pod-name> -n default
; - 查看集群节点健康状态:
kubectl get nodes
(STATUS
列为Ready
表示正常); - 查看集群事件(如Pod调度失败、节点异常):
kubectl get events --all-namespaces
; - 查看Deployment的副本数及更新状态:
kubectl get deployments --all-namespaces
。
二、Web可视化工具:直观监控集群状态
1. Kubernetes Dashboard(官方Web UI)
Kubernetes Dashboard是官方提供的Web界面,支持实时查看集群资源(Pod、Deployment、Service等)、查看日志、执行命令。安装步骤:
- 应用Dashboard配置:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
; - 创建访问Token:
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{ print $1} ')
; - 访问Dashboard:浏览器打开
https://< 节点IP> :30001
,输入Token登录。
2. Grafana(可视化指标分析)
Grafana与Prometheus结合,可创建自定义仪表盘,展示CPU、内存、网络等指标的趋势图。安装步骤:
- 使用Helm安装Grafana:
helm repo add grafana https://grafana.github.io/helm-charts & & helm install grafana grafana/grafana
; - 配置Prometheus数据源:进入Grafana界面(
http://< 节点IP> :3000
,默认用户admin
),添加数据源时填写Prometheus地址(如http://prometheus-operated.monitoring.svc.cluster.local:9090
); - 导入仪表盘:搜索“Kubernetes Cluster Monitoring”模板(ID:16315),导入后即可查看集群资源使用情况。
3. K9s(终端可视化工具)
K9s是基于终端的全屏管理工具,适合习惯命令行的用户,支持实时监控Pod、Deployment、Service等资源的状态,无需打开Web界面。安装步骤:
- 下载对应系统的二进制文件(如
linux_amd64
),赋予执行权限:chmod +x k9s
; - 运行K9s:
./k9s
,默认会连接本地Kubernetes集群(需配置~/.kube/config
)。
三、监控告警系统:主动发现问题
1. Prometheus + Alertmanager(指标收集与告警)
Prometheus是开源的时序数据库,用于收集Kubernetes集群的指标(如Pod CPU使用率、节点内存剩余量);Alertmanager用于根据规则发送告警(如邮件、Slack)。安装步骤:
- 使用Prometheus Operator安装(简化配置):
kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/master/bundle.yaml
; - 配置告警规则(如Pod连续5分钟重启):创建
alert.rules
文件,添加规则后应用到集群; - 配置Alertmanager通知渠道(如邮件):编辑
alertmanager.yml
文件,设置SMTP服务器等信息。
四、日志管理:排查问题根源
1. ELK Stack(Elasticsearch + Logstash + Kibana)
ELK是开源的日志管理方案,用于收集、存储、分析Kubernetes集群的日志(如Pod应用日志、系统日志)。安装步骤:
- 安装Elasticsearch:
kubectl apply -f https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-linux-x86_64.tar.gz
; - 安装Logstash:
kubectl apply -f https://artifacts.elastic.co/downloads/logstash/logstash-7.17.0-linux-x86_64.tar.gz
; - 安装Kibana:
kubectl apply -f https://artifacts.elastic.co/downloads/kibana/kibana-7.17.0-linux-x86_64.tar.gz
; - 配置日志收集:修改Logstash的
pipeline.conf
文件,设置输入源为Kubernetes日志(如/var/log/containers/*.log
),输出到Elasticsearch; - 访问Kibana:浏览器打开
http://< 节点IP> :5601
,创建索引模式后即可搜索、分析日志。
五、第三方工具:企业级增强功能
1. Datadog(全栈监控)
Datadog是云原生监控平台,支持监控Kubernetes集群的应用性能、基础设施(服务器、网络)、日志等,提供实时告警、分布式追踪等功能。安装步骤:
- 参考Datadog官方文档,安装Datadog Agent(需替换为你的API Key):
kubectl apply -f https://raw.githubusercontent.com/DataDog/datadog-agent/master/Dockerfiles/agent/k8s/daemonset.yaml
; - 配置监控项:在Datadog控制台启用Kubernetes监控,设置告警规则(如Pod崩溃率超过阈值)。
2. Sysdig(容器安全与监控)
Sysdig提供容器监控、安全分析和故障排除功能,支持查看容器内的系统调用、网络流量,检测异常行为(如容器逃逸)。安装步骤:
- 安装Sysdig Agent:
helm repo add sysdig https://sysdig-charts.storage.googleapis.com & & helm install sysdig sysdig/sysdig
; - 配置监控:编辑
values.yaml
文件,设置API Key(从Sysdig控制台获取),启用安全监控(如Falco规则); - 访问Sysdig控制台:浏览器打开
https://app.sysdigcloud.com
,查看容器性能、安全事件。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样监控centos k8s运行状态
本文地址: https://pptw.com/jishu/717840.html