1 Star 7 Fork 3

StarsL.cn/KubeDoor

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

StarsL.cn Commits open issues Python Node.js GitHub license OSCS Status

kubedoor

花折 - KubeDoor

花开堪折直须折🌻莫待无花空折枝


国内用户如果访问图片异常,可以访问Gitee同步站:https://gitee.com/starsl/KubeDoor

🏷目录


🌈概述

🌼花折 - KubeDoor 是一个使用Python + Vue开发,基于K8S准入控制机制的微服务资源管控平台,以及支持多K8S集群统一远程存储、监控、告警、通知、展示的一站式K8S监控平台,并且专注微服务每日高峰时段的资源视角,实现了微服务的资源分析统计与强管控,确保微服务资源的资源申请率和真实使用率一致。

💠全新架构

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

KubeDoor1 0 0 drawio

💎功能描述

1. 📡资源监控分析:多K8S集群统一监控最佳实践

  • 🌊支持多K8S集群统一远程存储、监控、告警、通知、展示的一站式K8S监控方案。
  • 📀Helm一键部署完成监控、采集、展示、告警、通知(多K8S集群监控从未如此简单✨)。
  • 🚀基于VictoriaMetrics全套方案实现多K8S统一监控,统一告警规则管理,实现免配置完整指标采集。
  • 🎨WEBUI集成了K8S节点监控看板与K8S资源监控看板,均支持在单一看板中查看各个K8S集群的资源情况。
  • 📐集成了大量K8S资源,JVM资源与K8S节点的告警规则,并支持统一维护管理,支持对接企微,钉钉,飞书告警通知及灵活的@机制。
  • 🎭实时监控管理页面,对K8S资源,节点资源统一监控展示的Grafana看板。
  • ⏱️支持即时、定时、周期性任务执行微服务的扩缩容和重启操作。

2. 🧬异常告警聚合

  • 🦄K8S微服务统一告警分析与处理页面,告警按天智能聚合,相同告警按日累计计数,每日告警清晰明了。
  • 🕹️支持对POD进行隔离,删除,Java dump,jstack,jfr,JVM数据采集分析等操作,并通知到群。

3. 💠高峰期P95资源采集分析

📊采集K8S微服务每日业务高峰时段P95的CPU内存消耗,以及需求、限制值与Pod数。基于采集的数据实现了一个Grafana看板并集成到了WEB UI。

  • ⚙️对微服务每日高峰期的P95资源展示,以及对Pod数、资源限制值的维护管理。
  • 🎨基于日维度采集每日高峰时段P95的资源数据,可以很好的观察各微服务长期的资源变化情况,即使查看1年的数据也很流畅。
  • 🏅高峰时段全局资源统计与各资源TOP10
  • 🔎命名空间级别高峰时段P95资源使用量与资源消耗占整体资源的比例
  • 🧿微服务级别高峰期整体资源与使用率分析
  • 📈微服务与Pod级别的资源曲线图(需求值,限制值,使用值)

🎡每日从采集的数据中,获取最近10天各微服务的资源信息,获取资源消耗最大日的P95资源,作为微服务的需求值写入数据库。

  • 基于准入控制机制实现K8S微服务资源的真实使用率和资源申请需求值保持一致,具有非常重要的意义。
  • 🌊K8S调度器通过真实的资源需求值就能够更精确地将Pod调度到合适的节点上,避免资源碎片,实现节点的资源均衡
  • K8S自动扩缩容也依赖资源需求值来判断,真实的需求值可以更精准的触发扩缩容操作
  • 🛡K8S的保障服务质量(QoS机制)与需求值结合,真实需求值的Pod会被优先保留,保证关键服务的正常运行

4. 🛡基于K8S准入控制针对微服务Pod数、需求值、限制值与高峰资源强一致的管控能力

5. ✨其它

  • ❤️Agent管理页面:更新,维护Agent状态,配置采集与管控。
  • 🔒基于NGINX basic认证,支持LDAP,支持接口级权限控制,支持所有操作审计日志与通知。
  • 📊所有看板基于Grafana创建,并整合到前端UI内,使得数据分析可以快速实现更优雅的展示。

📀KubeDoor 全新架构,全新部署

👉🏻点击查看灵活部署方案

🛠快速安装

### 【下载helm包】
wget https://StarsL.cn/kubedoor/kubedoor-1.1.0.tgz
tar -zxvf kubedoor-1.1.0.tgz
cd kubedoor
### 【master端安装】
# 编辑values-master.yaml文件,请仔细阅读注释,根据描述修改配置内容。
# try
helm upgrade -i kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml --dry-run --debug
# install
helm upgrade -i kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml
### 【agent端安装】
# 编辑values-agent.yaml文件,请仔细阅读注释,根据描述修改配置内容。
helm upgrade -i kubedoor-agent . --namespace kubedoor --create-namespace --values values-agent.yaml --set tsdb.external_labels_value=xxxxxxxx

♻更新KubeDoor

wget https://StarsL.cn/kubedoor/kubedoor-1.1.0.tgz
tar -zxvf kubedoor-1.1.0.tgz
### 把安装1.0时配置好的values-agent.yaml,values-master.yaml 复制到当前kubedoor目录下,覆盖已有的文件。
cp values-agent.yaml values-master.yaml kubedoor/
### 【master端安装】
helm upgrade -i kubedoor . --namespace kubedoor --create-namespace --values values-master.yaml
### 【agent端安装】
helm upgrade -i kubedoor-agent . --namespace kubedoor --create-namespace --values values-agent.yaml --set tsdb.external_labels_value=xxxxxxxx

🌐访问WebUI 并初始化数据

  1. 使用K8S节点IP + kubedoor-web的NodePort访问,默认账号密码都是 kubedoor
  2. 点击agent管理,先开启自动采集,设置好高峰期时段,再执行采集:输入需要采集的历史数据时长,点击采集,即可采集历史数据并更新高峰时段数据到管控表。

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

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

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


🔔KubeDoor交流群与🧧赞赏

如果觉得项目不错,麻烦动动小手点个⭐️Star⭐️ 如果你还有其他想法或者需求,欢迎在 issue 中交流

kubedoor

无法加群可关注公众号入群

🙇贡献者

🎯2025 KubeDoor RoadMap

  • 📅KubeDoor 项目进度
  • 🥈英文版发布
  • 🏅微服务AI评分:根据资源使用情况,发现资源浪费的问题,结合AI缩容,降本增效,做AI综合评分,接入K8S异常AI分析能力。
  • 🏅微服务AI缩容:基于微服务高峰期的资源信息,对接AI分析与专家经验,计算微服务Pod数是否合理,生成缩容指令与统计。
  • 🏅根据K8S节点资源使用率做节点管控与调度分析
  • ✅采集更多的微服务资源信息: QPS/JVM/GC
  • ✅针对微服务Pod做精细化操作:隔离、删除、dump、jstack、jfr、jvm
  • ✅K8S资源告警管理,按日智能聚合。
  • ✅多K8S支持:在统一的WebUI对多K8S做管控和资源分析展示。
  • ✅集成K8S实时监控能力,实现一键部署,整合K8S实时资源看板。

⭐STAR History

Star History Chart

🥰鸣谢

感谢如下优秀的项目,没有这些项目,不可能会有KubeDoor

MIT License Copyright (c) 2025 CassTime Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/starsl/KubeDoor.git
git@gitee.com:starsl/KubeDoor.git
starsl
KubeDoor
KubeDoor
main

搜索帮助

371d5123 14472233 46e8bd33 14472233