【前沿技术探索与应用赛道】借助京东AI言犀提升Kubernetes集群巡检的效率和准确性

介绍

目前k8s-cluster-inspector组件可以自动化完成Kubernetes集群巡检,并在巡检结果中给出当前集群存在的问题,问题分级,问题类型,问题解决方法。

示例巡检数据结构如下:



json 复制代码
{
       "name": "colocation-webhook-role",
       "namespace": "archimedes",
       "kind": "Role",
       "message": ["CanDeleteResources"],
       "issueCategory": ["Failed to pull image:WorkLoad"],
       "normal": false,
       "harmRank": ["CanDeleteResources:高危"],
       "repairMessages": ["CanDeleteResources:rbac中存在删除用户的风险,修复:在role,clusterrole增加标签:kubernetes.io/bootstrapping='rbac-defaults'"]
}

可见,其结果在一般的靠人力的情况下,对于问题的答案有一定限制。最终可能导致用户对结果不信任或者结果无法在可生产的环境中验证。

我们在借助AI工具,对于问题答案使用AI进行回答。将其结果回填到以上的巡检数据后,示例结果如下:

json 复制代码
{
       "name": "colocation-webhook-role",
       "namespace": "archimedes",
       "kind": "Role",
       "message": ["CanDeleteResources"],
       "issueCategory": ["Failed to pull image:WorkLoad"],
       "normal": false,
       "harmRank": ["CanDeleteResources:高危"],
       "repairMessages": ["CanDeleteResources:集群中遇到镜像拉取报错401,通常是因为镜像仓库需要认证。解决方法如下:
 
1. **创建镜像拉取秘密**:在Kubernetes中创建一个Secret对象,用于存储镜像仓库的用户名和密码。
   ```yaml
   kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
   ```
 
2. **在Pod或Deployment中引用Secret**:在Pod或Deployment的配置文件中,通过`imagePullSecrets`字段引用上述创建的Secret。
   ```yaml
   apiVersion: v1
   kind: Pod
   metadata:
     name: private-reg
   spec:
     containers:
     - name: private-reg-container
       image: <your-private-image>
     imagePullSecrets:
     - name: regcred
   ```
 
3. **应用配置**:更新或创建Pod/Deployment。
   ```bash
   kubectl apply -f your-pod-or-deployment.yaml
   ```
 
这样,Kubernetes在拉取镜像时会使用指定的认证信息,避免401错误。"]}

可见数据结果有较为明显的改进。并且借助AI工具,可以使得答案具有较高的丰富度和专业性。增加产品力。增强用户体验。

系统流程

主要流程区分:

  1. 执行巡检模版

按照用户声明的巡检模版指令执行巡检

  1. 开始巡检

开始巡检执行,该过程与Kubernetes集群交互

  1. 渲染巡检结果

将巡检结果进行渲染,渲染过程中会调用AI接口,分装提示词,组装steam需要的上下文,将集群问题给到AI,并获取AI回答的结果,补充到结果集中。

  1. 上报巡检结果

最终将巡检结果上报到用户指定的OSS存储服务器或者本地。





provider 设计

在流程中中,AI provider设计目的是将AI 作为provider进行设计,可以支持多个AI提供方。每个AI提供方只需要实现调用方式即可。这在对外交付时,极大的提高了灵活性。

相关推荐
一不小心扯到淡14 小时前
键盘演奏:我写了一个键盘音效引擎
程序员·github
清风微拂14 小时前
别再用记事本看日志了:我给程序员做了个大日志查看器
程序员
kyriewen14 小时前
别再用防抖做懒加载了:120 张图只加载出 4 张
前端·javascript·程序员
一只爱撸猫的程序猿15 小时前
当任何人都能生成一万行代码:什么变得稀缺
人工智能·后端·程序员
LeoLi63815 小时前
随机应变,不是见招拆招:AI 干 6 倍工时之后,我把它做成了三层降级链路
人工智能·程序员
SimonKing19 小时前
又找到一个纯Java的OCR项目,识别的格式还挺多
java·后端·程序员
陈随易20 小时前
副业搞钱点子之赛事与活动
前端·后端·程序员
楠风测开20 小时前
接口工具 + AI 文档生成
程序员
会开车的鸟哥21 小时前
编写测试序列与测试评估完整示例
程序员
codigger1 天前
别再手动催 AI 干活了:一文读懂 Loop Engineering(循环工程)
ai·程序员·编程语言·#人工智能