1、部署node-exporter

2、收集节点信息

curl -Ls http://20.0.0.17:9100/metrics | grep node_cpu_seconds

curl -Ls http://20.0.0.37:9100/metrics | grep node_cpu_seconds

curl -Ls http://20.0.0.47:9100/metrics | grep node_cpu_seconds

3、创建账号,管理集群

• 创建账号

kubectl create serviceaccount monitor -n monitor-sa

• 绑定账号到集群中

kubectl create clusterrolebinding monitor-clusterrolebinding -n monitor-sa --clusterrole=cluster-admin  --serviceaccount=monitor-sa:monitor

4、创建prometheus的configmap

10250是的端口号(kubelet管理节点)

通过kube-api的方式自动发现k8s的内部服务,包括node节点、pod、service、ingress信息,,可以访问api-server,表示可以获取集群的所有信息(仅限于pod,二进制部署无效)

5、部署prometheus的deployment(实际上是用无时间同步做的。下面截图已加上时间同步,prometheus监控的节点会down)6、创建prometheus的service

• 测试(浏览器输入http://20.0.0.17:31059/)

• 时间同步

yum install ntpdate -y

ntpdate ntp.aliyun.com

• 测试:1分钟内使用CPU的数据

sum by (name) (rate(container_cpu_usage_seconds_total{image!="",name!=""}[1m]))7、部署grafana

• 测试(浏览器输入http://20.0.0.17:30346/)

注意:若更改configmap,生产环境一定要使用热更新重载配置,千万不要delete重启,会丢失数据

curl -X POST -Ls http://10.244.0.94:9090/-/reload

• 导入数据库

第一个:监控node节点(格式:http://ip地址:service端口号)第二个:监控pod(格式:http://svc名称.命名空间.svc:端口)• 压力测试

master k8s_POD_centos-test-bd7b4c995-zl9kl_default_fac19e96-a901-4ce0-99d4-3a1cfee21e3e_0

pod名称

master k8s_centos_centos-test-bd7b4c995-zl9kl_default_fac19e96-a901-4ce0-99d4-3a1cfee21e3e_0

容器名称

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐