K8sGPT,基于 AI 的云原生终极工具

简介: Hello folks,我是 Luga,今天我们来聊一下云原生生态排障大杀器-基于AI 的云原生终极工具:“K8sGPT”。

    Hello folks,我是 Luga,今天我们来聊一下云原生生态排障大杀器-基于AI 的云原生终极工具:“K8sGPT”。

    随着人工智能和机器学习的兴起,企业和组织越来越多地寻找创新方法来利用这些技术来获得竞争优势。 该领域最强大的工具之一便是 K8sGPT,即基于 Kubernetes 的 GPT,它将 Kubernetes 编排的优势与 GPT 模型的高级自然语言处理能力结合在一起。

    毫不夸张滴说,K8sGPT 是一种改变游戏规则的工具,有可能彻底改变许多行业,从医疗保健和金融到电子商务和教育。它分析和理解自然语言数据的能力是无与伦比的,这使其成为希望从大量文本数据中获得洞察力的企业和组织的宝贵工具。

01

何为 K8sGPT ?


    先来看一张图:

    再来看一张图

    K8sGPT 是一个用于扫描 Kubernetes Cluster,以及用简单的英语诊断和分类问题的工具。它将 SRE 经验植入其分析仪,并帮助我们提取最有价值的相关信息,以及基于人工智能进行丰富、完善,以支撑问题的解决。


02

K8sGPT 到底是如何工作?


    通常来讲,K8sGPT 使用一组分析仪,旨在识别和简化Kubernetes Cluster 中诊断和分类问题的过程。这些分析仪具有 SRE 经验,有助于提供最准确和相关的信息。

    关于 K8sGPT 所内置的分析,具体可参考如下所示:

    1、PodAnalyzer

    此分析主要检查 Pod 所关联的相关配置,并检查任何可能导致 Pod 崩溃或资源过度使用等问题。

    2、PVCAnalyzer

    此分析主要检查 PVC 的配置信息,并检查任何可能导致数据丢失或其他存储相关问题的问题。

    3、ServiceAnalyzer

    此分析主要检查服务的参数配置情况,并检查可能导致服务停机或性能下降的任何问题。

    4、DeploymentAnalyzer

    此分析主要检查部署的相关配置情况,并检查可能导致资源使用不足或过度使用的任何问题。

    5、NodeAnalyzer:此分析检查 Kubernetes Cluster 中的节点信息,并检查与节点运行状况、利用率和容量相关的任何问题。

    当然,除了上述所列举的核心分析仪外,在实际的业务场景中,仍然有一些有用的分析仪可供使用,例如:入口分析仪、定时任务分析仪、事件分析仪以及其他等等。

    对于 AI 后端,K8sGPT 使用 OpenAI 作为默认后端平台。我们可以切换到其他后端,例如 Azure OpenAI 提供商或 FakeAI 提供商等。


03

K8sGPT 能够帮助我们解决哪些痛点?


    基于这款划时代的创新工具,K8sGPT 能够帮我们做的事情还真不少,具体可参考如下所示:

    1、诊断 Kubernetes Cluster 故障

    K8sGPT 能够帮助我分析来自 Kubernetes Cluster 的日志和其他关键数据,以识别当前系统环境所存在的潜在问题。从而可以帮助我们,特别是 SRE、平台和 DevOps 工程师快速了解其集群中发生了什么,并找到问题的根本原因。

    2、Kubernetes Cluster 分类问题

    K8sGPT 能够专注于分类和诊断集群中的问题,帮助我们消除了日志和多种工具的噪音,以便快速找到问题的根本原因。

    3、提高 Kubernetes Cluster 的可靠性

    通过使用 K8sGPT 定期分析 Kubernetes Cluster 的运行状况,使得我们能够在导致停机或其他问题之前主动识别和解决问题。

    4、对特定资源进行故障排除

    在实际的生产环境场景中,假设我们遇到特定资源的问题,例如,服务或部署,或者在特定命名空间中,K8sGPT 则能够帮助我轻松地对特定资源或特定命名空间进行故障排除。

    5、匿名化数据

    在分析过程中,K8sGPT 检索可能包含敏感信息的数据,如 Pod 名称、命名空间、资源名称等,这些敏感信息有时被归类为对特定群体甚至更具限制性的个人严格机密(C3、C4数据分类)。K8sGPT 为我们提供了一种功能,通过在发送到 AI 后端时将其屏蔽,并将其替换为密钥,该密钥可用于在解决方案返回给用户时对数据进行去匿名化,从而轻松匿名化这些数据。

04

如何使用 K8sGPT ?


    通常而言,K8sGPT 可以作为 CLI(命令行界面)工具安装,也可以作为 Kubernetes Cluster 中的 Operator 安装。

    1、基于 CLI 安装:


[leonli@leonLab ~ ] % brew tap k8sgpt-ai/k8sgpt
Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update!
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 1 tap (kubescape/tap).
You have 16 outdated formulae and 1 outdated cask installed.
==> Tapping k8sgpt-ai/k8sgpt
Cloning into '/opt/homebrew/Library/Taps/k8sgpt-ai/homebrew-k8sgpt'...
remote: Enumerating objects: 86, done.
remote: Counting objects: 100% (86/86), done.
remote: Compressing objects: 100% (85/85), done.
remote: Total 86 (delta 51), reused 2 (delta 0), pack-reused 0
Receiving objects: 100% (86/86), 18.77 KiB | 98.00 KiB/s, done.
Resolving deltas: 100% (51/51), done.
Tapped 1 formula (14 files, 37.7KB).
[leonli@leonLab ~ ] % brew install k8sgpt
Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update!
Running `brew update --auto-update`...
==> Fetching k8sgpt-ai/k8sgpt/k8sgpt
==> Downloading https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.0/k8sgpt_Darwin_arm64.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/617152691/d9f59995-7f66-468b-9a21-2dd6a2f3c7ea?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKI
######################################################################## 100.0%
==> Installing k8sgpt from k8sgpt-ai/k8sgpt
🍺  /opt/homebrew/Cellar/k8sgpt/0.3.0: 6 files, 55.5MB, built in 3 seconds
==> Running `brew cleanup k8sgpt`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

[leonli@leonLab ~ ] % /opt/homebrew/Cellar/k8sgpt/0.3.0/bin/k8sgpt version
k8sgpt version 0.3.0

   OK,Over 了。

     2、基于 Operator 安装:

    通常情况下,若基于 Kubernetes Cluster 中安装 K8sGPT,那么使用 k8sgpt-operator 进行。

    基于操作员模式,旨在在 Kubernetes Cluster 中启用 K8sGPT。它将允许我们创建一个自定义资源,定义托管 K8sGPT 工作负载的行为和范围。分析和输出也可以配置,以便集成到现有工作流程中。

    这种操作模式非常适合持续监控我们所构建的集群环境,并且可以与我们现有的监控(如Prometheus和Alertmanager)进行友好集成。


[leonli@leonLab ~ ] % helm repo add k8sgpt https://charts.k8sgpt.ai/
[leonli@leonLab ~ ] % helm install release k8sgpt/k8sgpt-operator -n k8sgpt-operator-system --create-namespace

    接下来,我们再简要介绍一下运行示例,具体如下所示:

    (1)创建密钥operator-system


[leonli@leonLab ~ ] % kubectl create secret generic k8sgpt-sample-secret --from-literal=openai-api-key=$OPENAI_TOKEN -n k8sgpt-
operator-system

    (2)应用K8sGPT配置对象


[leonli@leonLab ~ ] % kubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
  name: k8sgpt-sample
  namespace: k8sgpt-operator-system
spec:
  model: gpt-3.5-turbo
  backend: openai
  noCache: false
  version: v0.3.0
  enableAI: true
  secret:
    name: k8sgpt-sample-secret
    key: openai-api-key
EOF

    (3)查看部署结果

    一旦应用了自定义资源,将开始安装 K8sGPT 组件,此时,我们将能够在几分钟后看到分析的结果对象,具体如下所示:


[leonli@leonLab ~ ] % kubectl get results -o json | jq .
{
  "apiVersion": "v1",
  "items": [
    {
      "apiVersion": "core.k8sgpt.ai/v1alpha1",
      "kind": "Result",
      "metadata": {
        "creationTimestamp": "2023-04-26T09:45:02Z",
        "generation": 1,
        "name": "placementoperatorsystemplacementoperatorcontrollermanagermetricsservice",
        "namespace": "default",
        "resourceVersion": "108371",
        "uid": "f0edd4de-92b6-4de2-ac86-5bb2b2da9736"
      },
      "spec": {
        "details": "The error message means that the service in Kubernetes doesn't have any associated endpoints, which should have been labeled with \"control-plane=controller-manager\". \n\nTo solve this issue, you need to add the \"control-plane=controller-manager\" label to the endpoint that matches the service. Once the endpoint is labeled correctly, Kubernetes can associate it with the service, and the error should be resolved.",


05

常用 K8sGPT 操作示例?


    安装完成后,我们可以查看当前 K8sGPT 组件的版本,具体如下所示:


[leonli@leonLab ~ ] % /opt/homebrew/Cellar/k8sgpt/0.3.0/bin/k8sgpt version
k8sgpt version 0.3.0

    我们发现,当前当前 K8sGPT 为最新版,此时,我们可以使用 “--help ” 命令进行索引指示操作。

    例如,基于 k8sgpt filters list 命令进行操作,具体如下所示:

    以及运行以下命令来分析 Kubernetes Cluster 中的问题,具体可参考:

    当然,除了上述的命令行外,如下相关的命令行在日常的场景中应用也较为广泛,比如如下等等。


[leonli@leonLab ~ ] % k8sgpt generate && k8sgpt auth &&

    随着企业和组织不断寻找利用人工智能和机器学习的创新方法,K8sGPT 正在成为一种强大的工具,可以帮助他们实现目标。 凭借其先进的自然语言处理能力和 Kubernetes 编排的优势,K8sGPT 有可能改变我们分析和理解文本数据的方式,并推动许多行业的创新。

    Adiós !

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3月前
|
人工智能 自然语言处理 搜索推荐
AI与GIS工具引领企业变革
科技赋能企业转型:清华团队突破固态电池技术,AIGEO融合AI与GIS助力精准获客,降本增效。覆盖美妆、教育、金融等多领域,提升流量与转化率,推动数字化升级。(238字)
296 107
|
2月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
630 43
|
2月前
|
人工智能 搜索推荐 算法
用AI提示词搞定基金定投:技术人的理财工具实践
本文将AI提示词工程应用于基金定投,为技术人打造一套系统化、可执行的理财方案。通过结构化指令,AI可生成个性化定投策略,覆盖目标设定、资产配置、风险控制与动态调整,帮助用户降低决策门槛,规避情绪干扰,实现科学理财。
891 13
|
2月前
|
SQL 人工智能 机器人
AI Agent新范式:FastGPT+MCP协议实现工具增强型智能体构建
FastGPT 与 MCP 协议结合,打造工具增强型智能体新范式。MCP 如同 AI 领域的“USB-C 接口”,实现数据与工具的标准化接入。FastGPT 可调用 MCP 工具集,动态执行复杂任务,亦可作为 MCP 服务器共享能力。二者融合推动 AI 应用向协作式、高复用、易集成的下一代智能体演进。
408 0
|
3月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
1156 1
|
2月前
|
机器学习/深度学习 人工智能 算法
AI可以做电商主图了:技术原理,AI电商图生成工具对比及技术解析
双十一临近,电商主图需求激增。AI技术凭借多图融合、扩散模型等,实现高效智能设计,30秒生成高质量主图,远超传统PS效率。支持风格迁移、背景替换、文案生成,助力商家快速打造吸睛商品图,提升转化率。
931 0
|
2月前
|
人工智能 搜索推荐 数据可视化
当AI学会“使用工具”:智能体(Agent)如何重塑人机交互
当AI学会“使用工具”:智能体(Agent)如何重塑人机交互
387 115
|
2月前
|
人工智能 安全 搜索推荐
AI的下一个前沿:从静态工具到动态代理
AI的下一个前沿:从静态工具到动态代理
254 113
|
2月前
|
人工智能 自然语言处理 安全
从工具到伙伴:AI代理(Agent)是下一场革命
从工具到伙伴:AI代理(Agent)是下一场革命
308 117
|
2月前
|
人工智能 缓存 运维
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀
本文介绍联调造数场景下的AI应用演进:从单Agent模式到多Agent协同的架构升级。针对复杂指令执行不准、响应慢等问题,通过意图识别、工具引擎、推理执行等多Agent分工协作,结合工程化手段提升准确性与效率,并分享了关键设计思路与实践心得。
568 20
【智造】AI应用实战:6个agent搞定复杂指令和工具膨胀

热门文章

最新文章