在CentOS上部署Kubernetes(k8s)并进行监控,可以采用以下几种常见的方法和工具:
kubectl
是 Kubernetes 的命令行接口,可以用来查询和管理集群中的资源。
kubectl get nodes
kubectl get pods --all-namespaces
kubectl get deployments --all-namespaces
kubectl get services --all-namespaces
kubectl get events --all-namespaces
Kubernetes Dashboard是一个基于Web的UI,可以提供集群的实时监控和管理功能。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml
https://<node-ip>:30000
,使用默认用户名和密码(通常是 admin/admin
)登录。Prometheus是一个开源的监控系统和时间序列数据库,Grafana是一个开源的分析和监控平台。两者结合可以提供强大的监控和可视化功能。
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install prometheus prometheus-community/kube-prometheus-stack
helm install grafana grafana/grafana
http://<node-ip>:3000
,使用默认用户名和密码(通常是 admin/admin
)登录。cAdvisor(Container Advisor)是一个轻量级的守护进程,用于收集Docker容器的资源使用数据,包括CPU、内存、磁盘和网络使用情况。默认情况下,cAdvisor已经集成在Kubernetes集群中。
kubectl
命令来查看 cAdvisor 的监控数据。kube-state-metrics 通过监听 Kubernetes API 服务器生成有关资源对象的状态指标,如Deployment、Node、Pod等。
Node Exporter 用于收集节点的监控指标数据。
在CentOS系统上,还可以使用一些系统级别的命令来监控服务器的状态。
top
htop
vmstat
free
iostat
netstat
dstat
通过上述工具和方法,您可以全面监控 CentOS 上的 Kubernetes 部署状态,确保集群的稳定运行和高效性能。