当前位置:首页 > 每日看点 > 正文内容

有什么开源的Kuernetes平台吗?

卡卷网1年前 (2025-01-08)每日看点215

花折-KueDoor

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

开思开源第一弹:基于AI推荐+专家经验的K8S负载感知调度与容量管控

概述

<>花折-KueDoor是一个使用Python+Vue开发,基于K8S准入控制机制的微服务资源管控平台。专注微服务每高峰时段的资源视角,实现了微服务的资源分析计与强管控,确保微服务资源的资源申请率和实使用率一致。

架构图

功能描述

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

    <>基于维度采集每高峰时段P95的资源数据,可以很好的观察各微服务长期的资源变化情况,即使查看1年的数据也很流畅。高峰时段全局资源计与各<>资源TOP10命名空间级别高峰时段P95资源使用量与<>资源消耗占整体资源的例<>微服务级别高峰期整体资源与使用率分析微服务与<>Pod级别的资源曲线图(需求值,值,使用值)

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

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

实现了一个K8S管控与展示的WEUI。

    ⚙️对微服务的最新、每高峰期的<>P95资源展示,以及对<>Pod数、资源值的。⏱️支持<>即时、定时、周期性任务执行微服务的<>扩缩容和重启作。基于NGINXasic<>认证,支持LDAP,支持所有<>作审计志与通知。在前端页面集成Grafana看板,更优雅的展示与分析采集的微服务数据。

当微服务更新部署时,基于K8S准入控制机制对资源进行管控【默认不开启】:

    <>控制每个微服务的Pod数、需求值、值必须与数据库一致,以确保微服务的实使用率和资源申请需求值相等,从而实现微服务的一管控与Pod的负载感知调度均衡能力。<>对未管控的微服务,会部署失败并通知,必须在WEUI新增微服务后才能部署。(作为新增微服务的唯一管控入口,杜绝未经允许的新服务部署。)通过本项目基于<>K8S准入机制的扩展思路,大家可以自行简单定制需求,即可对K8S实现各种高灵活性与扩展性附加能力,诸如一或者个性化的<>拦截、、策略、标记微服务等功能。

K8S准入控制逻辑

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

<>项目仓库:s://githu/CassInfra/KueDoor


2025KueDoorRoadMap

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

部署说明

0.需要已有Prometheus监控K8S

需要有cadvisorkue-state-metri这2个JO,才能采集到K8S的以下指标-container_cpu_usage_seconds_total-container_memory_working_set_ytes-container_spec_cpu_quota-kue_pod_container_-kue_pod_container_resoce_limits-kue_pod_container_resoce_requests

1.部署Cert-manager

用于K8utatingWehook的强制s认证

kuectlapply-fs://StarsL/kuedoor/00.cert-manager_v1.16.2_cn.yaml

2.部署ClickHouse并初始化

用于存储采集的指标数据与微服务的资源信息

#默认使用dockercompose运行,部署在/opt/clickhouse目录下。 cl-ss://StarsL/kuedoor/install-clickhouse.sh|sudoash #启动ClickHouse(启动后会自动初始化表结构) cd/opt/clickhouse&&dockercomposeup-d

如果已有ClickHouse,请逐条执行以下SQL,完成初始化表结构

s://StarsL/kuedoor/kuedoor-init.sql

3.部署KueDoor

ets://StarsL/kuedoor/kuedoor.tgz tar-zxvfkuedoor.tgz #编辑values.yaml文件,请仔细阅读注释,根据描述修改配置内容。 vimkuedoor/values.yaml #使用helm安装(注意在kuedoor目录外执行。) helminstallkuedoor./kuedoor #安装完成后,所有资源都会部署在kuedoor命名空间。

4.访问WeUI并初始化数据

    使用K8S节点IP+kuedoor-we的NodePort访问,默认账号密码都是<>kuedoor点击配置中心,输入需要采集的历史数据时长,点击采集并更新,即可采集历史数据并更新高峰时段数据到管控表。<>默认会从Prometheus采集10天数据(建议采集1个月),并将10天内最大资源消耗的数据写入到管控表,如果耗时较长,请等待采集完成或缩短采集时长。重复执行采集并更新不会导致重复写入数据,请放心使用,每次采集后都会自动将10天内最大资源消耗的数据写入到管控表。点击管控状态的开关,显示管控已启用,表示已开启。

⛔注意事项

    部署完成后,<>默认不会开启管控机制,你可以按上述作通过WeUI来开关管控能力。特殊情况下,你也可以使用kuectl来开关管控功能:```ash开启管控kuectlapply-fs://StarsL/kuedoor/99.kuedoor-Mutating.yaml关闭管控kuectldeletemutatingwehookconfigationskuedoor-wehook-configation```<>开启管控机制后,目前只会拦截<>deployment的创建,更新,扩缩容作;管控<>pod数,需求值,值。不会控制其它作和属性。<>开启管控机制后,通过任何方式对Deployment执行扩缩容或者更新作都会受到管控。<>开启管控机制后,扩缩容或者重启Deployment时,Pod数优先取指定Pod字段,若该字段为-1,则取当Pod字段。

管控例子

    你通过Kuectl对一个Deployment执行了扩容10个Pod后,<>会触发拦截机制,到数据库中去查询该微服务的Pod,然后使用该值来进行实际的扩缩容。(正确的做法应该是在KueDoor-We来执行扩缩容作。)你通过某发布修改了Deployment的镜像版本,执行发布作,<>会触发拦截机制,到数据库中去查询该微服务的Pod数,需求值,值,然后使用这些值值以及新的镜像来进行实际的更新作。

管控原则

    <>你对deployment的作不会触发deployment重启的,也没有修改Pod数的:触发管控拦截后,只会按照你的作来更新deployment(不会重启Deployment)<>你对deployment的作不会触发deployment重启的,并且修改Pod数的:触发管控拦截后,Pod数会根据数据库的值以及你修改的其它信息来更新Deployment。(不会重启Deployment)<>你对deployment的作会触发deployment重启的:触发管控拦截后,会到数据库中去查询该微服务的Pod数,需求值,值,然后使用这些值以及你修改的其它信息来更新Deployment。(会重启Deployment)

鸣谢

感谢如下优秀的项目,没有这些项目,不可能会有<>KueDoor:

    后端技术栈FlaskGrafanaNginx前端技术栈VueElementPluspe-<>特别鸣谢CassTime:<>KueDoor的诞生离不开<>开思的支持。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/7451.html

分享给朋友:

相关文章

个人站长为什么越来越少了?个人网站还能做吗?

个人站长为什么越来越少了?个人网站还能做吗?

在互联网快速发展的浪潮中,个人站长曾经有过辉煌的时代,但如今却面临着诸多困境,甚至走向 “死亡”。一、竞争激烈,难以立足如今的互联网行业,巨头林立,各大平台凭借着雄厚的资金、技术和资源优势,占据了绝大部分市场份额。无论是搜索引擎、社交媒体还...

为什么程序员不自己开发微信小程序这类似的东西赚钱?

为什么程序员不自己开发微信小程序这类似的东西赚钱?

你如果有好的想法是可以挣钱的首先大家说的个人资质限制确实多,也不建议直接拿个人资质去用小程序盈利,因为很麻烦我说一下我的大体操作:1.首先去申请个体户,这个可以用住宅来注册申请,而且速度很快就几天就下来了,经营类目主要是互联网销售这些,不过...

怎么用游戏搬砖挣钱呢?

怎么用游戏搬砖挣钱呢?

今天,我把我多年操作的经验分享出来,以供各位老板们学习借鉴,胆小的老板就离开吧,心里承受能力太弱了,会刷新你的认知的。有些新人在计算收益的时候,会以机器数来计算,其实是有误区的,比如,一台机器一个月搞400元,平均每天搞13元钱,搞上100...

小米14 Pro和Redmi K70Pro怎么选?

小米14 Pro和Redmi K70Pro怎么选?

两款手机都使用了最新的骁龙8Gen3旗舰芯片,性能都是顶级,但是两款手机定位不同,卖点不同,红米K70 Pro定位主打性能的旗舰入门手机,小米14Pro定位旗舰中高端手机。具体根据个人需求与预算来选择:两款手机的相同、相似点:都使用了骁龙8...

感觉手机配置都差不多,为什么有的手机能卖2k-3k,而有的手机却能卖到6k-8k?

感觉手机配置都差不多,为什么有的手机能卖2k-3k,而有的手机却能卖到6k-8k?

与所有的商品一样,手机的价格,也是由它的成本所决定的。虽然看起来3000元的手机和6000的手机配置差不多,甚至处理器都可能是同一个,但在很多大家容易忽略的地方,决定了两者价格的不同:例如手机的外观,塑料的机身,与素皮机身和玻璃机身就完全不...

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

为何 Linus 一个人就能写出这么强的系统,中国却做不出来?

我给你举个真实的例子。。有一个人叫高伟东,在哈尔滨工作。在2012年做了一个APP。使用词根词缀背单词。名字叫:词根词缀词典这个人编辑了2300余条词根,给10万多条单词建立了词根索引,整理了50多万条的单词记忆方法,包括新版本的诸多新功能...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。