百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

KubeDoor 微服务容量管理平台全新架构,灵活部署方案

off999 2025-03-29 20:39 113 浏览 0 评论

花折 - KubeDoor 1.0发布!全新架构,多K8S管控支持,多K8S统一监控、告警、展示最佳实践

VictoriaMetrics全套方案:多K8S统一监控远程写,统一告警规则管理。

目录

  • 0. KubeDoor 1.0组件说明
  • 1. 全新部署(您的K8S没有部署监控系统)
  • 2. 独立部署ClickHouse与VictoriaMetrics
  • 3. 接入部署(已经有完整的多K8S监控系统)
  • 4. 仅Master部署(已经有完整的多K8S监控系统)

组件说明

master端(安装在kubedoor命名空间)

  • kubedoor-master: 对接agent,提供api接口
  • kubedoor-web: 前端界面,整合nginx
  • kubedoor-dash: Grafana
  • kubedoor-alarm: 接收alertmanager的告警,执行通知与入库
  • kubedoor-collect: 定时任务,调用api采集高峰期资源

基础设施(默认和master端部署在一起)

  • alertmanager: 告警路由服务
  • vmalert: 告警规则计算与管理,触发告警后通知到alertmanager
  • VictoriaMetrics: 时序数据库
  • ClickHouse:列式数据库

agent端(安装在kubedoor命名空间)

  • kubedoor-agent: 对接master,调用K8S API
  • vmagent: 替代Prometheus,采集监控指标
  • KubeStateMetrics: 获取K8S的指标
  • NodeExporter: 获取主机的指标

部署方案

0. 下载并进入目录

### 【下载helm包】
wget https://StarsL.cn/kubedoor/kubedoor-1.1.0.tgz
tar -zxvf kubedoor-1.1.0.tgz
cd kubedoor

1. 全新部署(您的K8S没有部署监控系统)

全新部署不会影响您已有的监控服务,如果您原监控没有使用vm远程存储,建议使用全新部署,体验多K8S统一监控最佳实践

  • master部署:
  1. 配置文件修改: values-master.yaml

变量名

描述

storageClass

【特别注意】默认的部署方案会把ClickHouse

(单机版)和VictoriaMetrics

(单机版)都部署在K8S(kubedoor命名空间)内,这2个服务需要存储,注意要填写正确您K8S的storageClass

(注意有2处storageClass

)。

CK_PASSWORD

【可保持默认】自动部署ClickHouse

时会将这个密码设置为default用户的密码。

external_labels_key

【可保持默认】这是用于多K8S监控数据,通过远程写方式,写入到同一个时序数据库的场景。使用远程存储时,这个key/value会作为标签增加到每一个指标中,这样通过这个标签就可以区分出指标属于哪个K8S了。注意agent端的external_labels_key

要和master端的external_labels_key

保持一致。如果是新安装VictoriaMetrics

可以使用默认配置的origin_prometheus

不变。

vm_single

【可保持默认】自动部署Victoria-Metrics-Single

时需要配置的账号密码,存储时长等信息。

nginx_auth

【可保持默认】这个是web登录的账号密码信息,是使用的nginx basic认证,默认设置了2个用户,一个用于web登录,一个用于agent与master通讯使用,可以根据需要修改。

MSG_TYPE/MSG_TOKEN

【需要修改】master端的通知IM类型和机器人token,主要用于告警的默认通知的群机器人,你也可以在alertmanager配置更详细的通知路由。

  1. 完成配置修改后执行检查与安装:
# try
helm install kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml --dry-run --debug
# install
helm install kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml
  1. 访问WebUI:使用K8S节点IP + kubedoor-web的NodePort访问,默认账号密码都是 kubedoor
  2. 告警逻辑说明:vmalertVictoriaMetrics读取数据,并进行规则比较后,如果触发了告警就会通知到alertmanager,alertmanager收到告警后会路由到kubedoor-alarm进行告警通知和入库。即使您的K8S内已经有alertmanager也不用担心,KubeDoor的alertmanager会安装在kubedoor命名空间,不会冲突。
  • agent部署:
  1. 配置文件修改: values-agent.yaml

变量名

描述

ws

agent和master是同一个K8S:配置为
ws://kubedoor-master.kubedoor

即可,免认证。如果是跨K8S的情况,请配置为您的kubedoor-web外部可访问的地址端口,并按照例子配置认证信息。

MSG_TYPE/MSG_TOKEN

大部分对该K8S的操作会通过该机器人进行通知。(不同的K8S可以配置不同的群机器人)

OSS_URL

java服务执行dump、jfr、jstack时会把数据存放到OSS,请填写您的OSS地址。(注意设置允许内网免认证上传)

external_labels_key

注意部署到多套K8S时,请保持external_labels_key都相同,并且与kubedoor-master的也相同。

external_labels_value

设置为您的K8S的名称。

remoteWriteUrl

这是vmagent远程写时序数据库的完整URL。agent和master是同一个K8S:配置为http://monit:dduF1E3sj@
victoria-metrics.kubedoor:8428/api/v1/write

,如果是跨K8S的情况,注意修改
victoria-metrics.kubedoor:8428

为您的Victoria-Metrics外部可访问的地址端口。注意账号密码是mater配置中的vm_single

的账号密码。

kube_state_metrics

如果您开启了vmagent

安装,请确保kube_state_metrics

也是开启的,vmagent

需要采集kubedoor的kube_state_metrics

的指标,kube_state_metrics

会部署在kubedoor命名空间内,不会与您已有的kube_state_metrics

冲突。

node_exporter

如果您的K8S节点已部署node-exporter,请设置为false,否则会冲突。

  1. 完成配置修改后执行检查与安装:
# try
helm install kubedoor-agent . --namespace kubedoor --create-namespace --values values-agent.yaml --dry-run --debug
# install
helm install kubedoor-agent . --namespace kubedoor --create-namespace --values values-agent.yaml
  1. 访问KubeDoor-Web,点击agent管理,找到您部署agent的K8S名称,状态应该是在线,先开启自动采集,设置好高峰期时段,再执行采集:输入需要采集的历史数据时长,点击采集,即可采集历史数据并更新高峰时段数据到管控表。

开启自动采集后,每天凌晨1点会采集前一天的高峰期数据,并将10天内最大资源消耗日的数据写入到更新管控表。

重复执行采集不会导致重复写入数据,请放心使用;每次采集后都会自动将10天内最大资源消耗日的数据写入到管控表。如果耗时较长,请等待采集完成或缩短采集时长。

如果您是新安装的监控系统,并且已过了当天的高峰期时段,将会无法采集到数据;需要等第二天高峰期时段之后才能采集到数据。

  1. 在其它的K8S部署agent。
helm install kubedoor-agent . --namespace kubedoor --create-namespace --values values-agent.yaml --set tsdb.external_labels_value=xxxxxx

2. 独立部署ClickHouse与VictoriaMetrics

  • ClickHouse可以使用docker compose在主机上部署。
# 默认使用docker compose运行,部署在/opt/clickhouse目录下。
curl -s https://StarsL.cn/kubedoor/install-clickhouse.sh|sudo bash
# 启动ClickHouse(启动后会自动初始化表结构)
cd /opt/clickhouse && docker compose up -d
  • VictoriaMetrics可以使用docker compose在主机上部署。
mkdir -p /opt/victoriametrics/data
wget https://StarsL.cn/kubedoor/victoriametrics-docker-compose.yaml -O /opt/victoriametrics/docker-compose.yaml
# 请编辑下载的yaml文件修改账号密码和数据存储时长
cd /opt/victoriametrics/
docker compose up -d

3. 接入部署(已经有完整的多K8S监控系统)

前提1:每个K8S内已经部署Prometheus/vmagent,采集的数据统一远程写到已有的 VictoriaMetrics

前提2:已经部署好的ClickHouse

前提3:如果使用已有的ClickHouse,需要逐条运行建库建表sql。初始化数据库SQL

  • master部署:
  1. 配置文件修改: values-master.yaml

变量名

描述

clickhouse.enable

设置为false

CK_PASSWORD/CK_HOST/CK_PORT/CK_HTTP_PORT/CK_USER

根据您已有的ClickHouse信息填写

tsdb.type

根据您已有的时序数据库填写Victoria-Metrics-Single

Victoria-Metrics-Cluster

external_labels_key

注意填写您已经在Prometheus/vmagent

中配置的external_labels

的key,如果您没有配置过请在您的Prometheus/vmagent

中新增一个。

url/remoteRead/remoteWrite

单机版配置url即可,集群版需要配置remoteRead/remoteWrite,请按照示例规范填写。

MSG_TYPE/MSG_TOKEN

master端的通知IM类型和机器人token,主要用于告警的默认通知的群机器人,你也可以在alertmanager配置更详细的通知路由。

  1. 完成配置修改后执行检查与安装:
# try
helm install kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml --dry-run --debug
# install
helm install kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml
  1. 访问WebUI:使用K8S节点IP + kubedoor-web的NodePort访问,默认账号密码都是 kubedoor
  2. 告警逻辑说明:vmalertVictoriaMetrics读取数据,并进行规则比较后,如果触发了告警就会通知到alertmanager,alertmanager收到告警后会路由到kubedoor-alarm进行告警通知和入库。即使您的K8S内已经有alertmanager也不用担心,KubeDoor的alertmanager会安装在kubedoor命名空间,不会冲突。
  • agent部署:
  1. 配置文件修改: values-agent.yaml

变量名

描述

ws

agent和master是同一个K8S:配置为
ws://kubedoor-master.kubedoor

即可,免认证。如果是跨K8S的情况,请配置为您的kubedoor-web外部可访问的地址端口,并按照例子配置认证信息。

MSG_TYPE/MSG_TOKEN

大部分对该K8S的操作会通过该机器人进行通知。(不同的K8S可以配置不同的群机器人)

OSS_URL

java服务执行dump、jfr、jstack时会把数据存放到OSS,请填写您的OSS地址。(注意设置允许内网免认证上传)

external_labels_key

注意部署到多套K8S时,请保持external_labels_key都相同,并且与kubedoor-master的也相同。

external_labels_value

注意填写您当前K8S已经在Prometheus/vmagent

中配置的external_labels

的value,如果您没有配置过请在您的Prometheus/vmagent

中新增一个。

remoteWriteUrl

如果你的是新K8S没有安装Prometheus/vmagent

,但你已有VictoriaMetrics

,这里填写的你VictoriaMetrics

远程写的地址就行了。如果你的K8S已经安装好了Prometheus/vmagent

,那就不用管这个变量,并且下面monit

的所有enable

都配置成false

monit

如果你需要安装vmagent,保持下面的所有enable

true

即可,如果你已经有Prometheus/vmagent

了,monit下面的所有enable

都配置成false

  1. 调整你已有的Prometheus/vmagentJOB配置(因为您的JOB配置可能与KubeDoor需求的会有不一样,请参考以下配置调整。)配置完成后确保您的有以下指标:

vmagent-job-config.yaml

    • container_cpu_usage_seconds_total
    • container_memory_working_set_bytes
    • container_spec_cpu_quota
    • kube_pod_container_info
    • kube_pod_container_resource_limits
    • kube_pod_container_resource_requests
  1. 完成配置修改后执行检查与安装:
# try
helm install kubedoor-agent . --namespace kubedoor --create-namespace --values values-agent.yaml --dry-run --debug
# install
helm install kubedoor-agent . namespace kubedoor --create-namespace --values values-agent.yaml
  1. 访问KubeDoor-Web,点击agent管理,找到您部署agent的K8S名称,状态应该是在线,先开启自动采集,设置好高峰期时段,再执行采集:输入需要采集的历史数据时长,点击采集,即可采集历史数据并更新高峰时段数据到管控表。

开启自动采集后,每天凌晨1点会采集前一天的高峰期数据,并将10天内最大资源消耗日的数据写入到更新管控表。

重复执行采集不会导致重复写入数据,请放心使用;每次采集后都会自动将10天内最大资源消耗日的数据写入到管控表。如果耗时较长,请等待采集完成或缩短采集时长。

如果您是新安装的监控系统,并且已过了当天的高峰期时段,将会无法采集到数据;需要等第二天高峰期时段之后才能采集到数据。

  1. 在其它的K8S部署agent。
helm install kubedoor-agent . --namespace kubedoor --create-namespace --values values-agent.yaml --set tsdb.external_labels_value=xxxxxx

4. 仅Master部署(已经有完整的多K8S监控系统)

如果你已经有完整的K8S监控系统(满足3个前提),并且你也不需要KubeDoor去操作你的K8S(KubeDoor-Web上对K8S执行扩缩容、重启、Pod隔离/Dump等等操作),那么你也可以完全不安装KubeDoor-agent,仅安装KubeDoor-Master即可。(监控、告警、高峰期数据的展示分析能力Master从ClickHouse与VictoriaMetrics中获取数据即可。)

欢迎大家一键三连,有问题可以提issue和pr

github地址:
https://github.com/CassInfra/KubeDoor/tree/main



相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: