GitHub - CassInfra/KubeDoor: 基于K8S准入控制机制的微服务资源管控平台,多K8S统一监控、告警、展示最佳实践
### 【下载helm包】
### 【master端安装】
# 编辑values-master.yaml文件,请仔细阅读注释,根据描述修改配置内容。
# try
helm upgrade -i kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml --dry-run --debug
第一步,【下载helm包】
wget https://StarsL.cn/kubedoor/kubedoor-1.3.6.tgz
tar -zxvf kubedoor-1.3.6.tgz
cd kubedoor
第2步: 【master端安装】
先配置 values-mast.yaml:
(1)查看 存储类:
kubectl get storageclass
managed-nfs-storage
(2) 配置 企业微信告警 的key:
白眉大叔微信 通知; 6e82e102-641b-41d9-a179-e6795ff0c8d6
其他的不用管:
# kubedoor 1.0.0 开始分为agent端和master端,支持多K8S集群。
# 这是master端的配置
kubedoor:
master:
enable: true
storageClass: managed-nfs-storage # 查看您K8S的StorageClass,指定有效的存储类,会自动创建PV/PVC。
# 用于存储每日的K8S微服务高峰期资源数据/微服务管控数据,KubeDoor的配置。
clickhouse:
enable: true # enable为true时,表示自动新安装clickhouse单机版到kubedoor命名空间内。
storage: 100Gi # 存储空间大小
#【enable为true时,已下信息,仅可修改密码】
#【enable为false时,请填写您已有的ClickHouse信息】
CK_HOST: "clickhouse.kubedoor" # ClickHouse数据库的IP
CK_PORT: "9000" # ClickHouse数据库的TCP端口
CK_HTTP_PORT: "8123" # ClickHouse数据库的HTTP端口
CK_USER: "default" # ClickHouse数据库的账号
CK_PASSWORD: "di88fg2k" # ClickHouse数据库指定用户的密码
###########################################################
# K8S监控告警逻辑:K8S<---vmagent--->vm_single<---vmalert--->alertmanager--->kubedoor_alarm--->IM
tsdb:
# 采集K8S的指标数据存入时序数据库,请输入时序数据库的类型:KubeDoor, Victoria-Metrics-Single, Victoria-Metrics-Cluster。
# type为KubeDoor时,表示自动新安装VictoriaMetrics单机版到kubedoor命名空间内,其它为使用您已有的时序数据库。
type: "KubeDoor"
# 以下两个字段用于多K8S监控数据,通过远程写方式,写入到同一个时序数据库的场景,即为Prometheus/vmagent设置中的external_labels的key/value。
# 使用远程存储时,这个key/value会作为标签增加到每一个指标中,这样通过这个标签就可以区分出指标属于哪个K8S了。
# 如果是使用您已有的Victoria-Metrics,请在您的Prometheus配置中找到external_labels的key填入,如果您没有配置过请在您的Prometheus配置中新增一个。
external_labels_key: "origin_prometheus" # 注意key只能字母数字下划线。
# external_labels_value: "" # master端不需要填写该字段。
# 以下信息3选1填写:
#【当type为: KubeDoor, 请填写以下vm_single的内容】
vm_single:
retention: 30d # 监控数据的存储时长
user: monit # vm_single的账号
passwd: dduF1E3sj # vm_single的密码
storage: 100Gi # 存储空间大小
#【当type为: Victoria-Metrics-Single, 请填写您的时序数据库地址】
url: "http://monit:dduF1E3sj@10.7.0.100:8428" #时序数据库的地址,http开头,端口号结尾,有认证的按例子格式填写。
#【当type为: Victoria-Metrics-Cluster, 请分别填写完整的时序数据库读/写接口地址】
# 注意:Victoria-Metrics-Cluster默认读端口是8481,写端口是8480。
remoteRead: "http://vmselect:8481/select/0/prometheus"
remoteWrite: "http://vminsert:8480/insert/0/prometheus"
############################################################
# 这是对接alertmanager(kubedoor已集成)的告警通知服务:支持企微,钉钉,飞书;并且提供了告警入库的功能,提供给kuibedoor-web展示分析告警数据。
kubedoor_alarm:
DEFAULT_AT: "all" # 如果在告警规则中找不到annotations.at的值,则会使用该值(IM工具的用户ID)作为@的通知人。
ALERTMANAGER_EXTURL: "http://10.1.118.123:30319" # alertmanager外部可访问的链接,用于收到告警通知后,可直接点击访问alertmanager进行屏蔽告警的按钮。(部署后可在kubedoor-config中修改)
# nginx basic认证配置,用于KuboDoor-Web登录的账号密码
kubedoor_web_secret:
nginx_auth: # htpasswd格式:"用户名:加密密码",可以在https://tool.lu/htpasswd/在线生成,加密方式选Crypt。
- kubedoor:a3rsHbfPnb4Ps # 这是默认的账号密码,都是"kubedoor",可以配置多个账号。
- Up4biLko1dNh:cUo3fhryKizac # 这是预置的用于agent连接master进行basic认证用的。账号:Up4biLko1dNh 密码:qCa22jDkfc9y
config:
# 这里填写通知的信息(包括告警的默认通知,部署后可以自行在alertmanager配置中,更改通知路由规则。)
# 钉钉机器人安全设置的自定义关键词请设置为:告警
MSG_TYPE: "wecom" # 各类操作通知的消息类型:wecom, dingding, feishu
MSG_TOKEN: "6e82e102-641b-41d9-a179-e6795ff0c8d6" # 通知服务对应的token
开始安装 maseter:
helm upgrade -i kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml
第3步: agent端安装
helm upgrade -i kubedoor-agent . --namespace kubedoor --create-namespace --values values-agent.yaml --set tsdb.external_labels_value=zzytest
到此已经安装好了
接下来我们进行配置
登录 kubedoor -web 界面:
端口在服务中找:
安装后:
访问:
http://10.0.0.211:30701/
用户名密码: kubedoor, kubedoor
请访问KubeDoor-Web,点击agent管理,找到您部署的agent:,状态应该是在线,先开启自动采集,设置好高峰期时段,再执行采集:输入需要采集的历史数据时长,点击采集,即可采集历史数据并更新高峰时段数据到管控表。
欢迎来撩 : 汇总all