【前沿技术探索与应用赛道】借助京东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提供方只需要实现调用方式即可。这在对外交付时,极大的提高了灵活性。

相关推荐
文心快码BaiduComate2 小时前
“一人即团队”——一句话驱动智能体团队
前端·后端·程序员
垚垚领先3 小时前
Linux中断子系统(二)-通用框架处理
程序员
程序员鱼皮4 小时前
AI 应用开发,不就是调个接口么?
计算机·ai·程序员·互联网·编程·网站
垚垚领先4 小时前
kprobe event使用详解(linux内核工程师提效神器)
程序员
孟健5 小时前
我创业了!从大厂高薪到独立创业者的真实经历
程序员
用户237390331478 小时前
ESP32头文件路径
程序员
SimonKing8 小时前
告别繁琐配置!Retrofit-Spring-Boot-Starter让HTTP调用更优雅
java·后端·程序员
xiezhr10 小时前
一款带有AI功能的markdown笔记工具
笔记·程序员·产品