kubeSphere添加etcd监控

背景

kubeSphere中的etcd监控默认安装时没有开启,而且开启了也不会直接生效,因为需要配置etcd的证书。kubeSphere页面上显示也是未启用的。

file

步骤

查看etcd证书的位置

我的环境是通过rke启动的,不是通过kubeadm,etcd是docker容器,而不是pod。

docker inspect xxx

file

创建etcd svc

apiVersion: v1
kind: Service
metadata:
  name: prometheus-kube-etcd
  labels:
    app: prometheus-kube-etcd
    jobLabel: kube-etcd
    release: prometheus
spec:
  type: ClusterIP
  ports:
  - name: https-metrics
    port: 2379
    protocol: TCP
    targetPort: 2379
---
apiVersion: v1
kind: Endpoints
metadata:
  name: prometheus-kube-etcd
  labels:
    app: prometheus-kube-etcd
    jobLabel: kube-etcd
    release: prometheus
subsets:
- addresses:
  - ip: 172.50.60.55
  - ip: 172.50.60.88
  - ip: 172.50.60.104
  ports:
  - name: https-metrics
    port: 2379
    protocol: TCP

测试svc访问

curl -s --cert /etc/kubernetes/ssl/kube-etcd-172-50-60-55.pem --key /etc/kubernetes/ssl/kube-etcd-172-50-60-55-key.pem https://172.50.60.55:2379/metrics -k

file

修改ks-installer yaml

admin用户登录控制台,点击左上角的平台管理,选择集群管理。

点击定制资源定义,在搜索栏中输入clusterconfiguration,点击ks-installer右侧的三个点 ,选择编辑YAML。

endpointIps如果有多个,必须要用''括起来,不然不生效。monitoring修改为true。

file

查看安装日志

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

file

查看prometheus日志

日志中有报错信息:启用自带的etcd监控,生成的secret名字是"kube-etcd-client-certs",该secret不存在。

file

创建secret

kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs --from-file=/etc/kubernetes/ssl/kube-etcd-172-50-60-55.pem --from-file=/etc/kubernetes/ssl/kube-etcd-172-50-60-55-key.pem --from-file=/etc/kubernetes/ssl/kube-ca.pem

再次查看prometheus日志

prometheus pod重启后,查看日志有新的报错信息:

file

查看ServiceMonitor

自动生成的ServiceMonitor名字是etcd

file

修改etcd ServiceMonitor

修改证书

file

此时prometheus中的target会更新,etcd中的监控数据会中断一小会。

file

查看etcd监控

点击监控告警–集群状态–etcd监控,数据已经出现。

file

file

0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部
0
希望看到您的想法,请您发表评论x