k8s AIOps

k8s AIOps

请添加图片描述

主要介绍下k8sgpt
官站
github

介绍

k8sgpt 是一个用于扫描Kubernetes集群、诊断和分级问题的工具。它以简单的英语呈现问题,并将站点可靠性工程(SRE)的经验编码到其分析器中。通过AI丰富问题的解释,k8sgpt帮助提取最相关的信息。它支持与多个AI服务提供商的开箱即用集成,包括OpenAI、Azure、Cohere、Amazon Bedrock、Google Gemini以及本地模型. 这意味着您可以根据自己的需求选择不同的AI服务提供商。

k8sgpt内置了如下的分析器:
podAnalyzer
pvcAnalyzer
rsAnalyzer
serviceAnalyzer
eventAnalyzer
ingressAnalyzer
statefulSetAnalyzer
deploymentAnalyzer
cronJobAnalyzer
nodeAnalyzer
mutatingWebhookAnalyzer
validatingWebhookAnalyzer

特性

  1. 核心分析器

    • K8sGPT 的核心是基于自然语言处理(NLP)和机器学习(ML)的智能分析器。
    • 当工程师输入一个简单的英文句子描述问题时,K8sGPT会将其转化为对集群状态的描述。
    • 然后,它利用 AI 算法对集群状态进行深度分析,提取最相关的信息,并通过自然语言生成回复。
  2. 应用场景

    • K8sGPT 适用于多种场景,例如:
      • 集群状态监控:通过输入简单的英文句子,工程师可以快速了解集群的整体状态,包括 CPU、内存、网络等资源的使用情况。
      • 故障排查:当集群出现故障时,工程师可以输入相关的英文句子描述问题,K8sGPT会迅速分析并给出可能的故障原因和解决方案。
      • 性能优化:工程师可以通过输入有关性能问题的英文句子,让 K8sGPT 分析集群的性能瓶颈和优化建议。
      • 安全审计:K8sGPT 可以检测集群的安全漏洞和风险,为安全审计提供有力的支持。
  3. 优势

    • 高效便捷:通过简单的英文句子输入,工程师可以快速获取诊断结果,大大提高了工作效率。
    • 实时监控:K8sGPT 可以对集群状态进行实时监控和分析,及时发现潜在的问题和风险。
    • 智能分析:利用 AI 算法,K8sGPT 提高了诊断的准确性和可靠性。

K8sGPT 作为基于 AI 的云原生终极工具,为云原生软件工程师提供了强大的支持。

环境

操作系统:
Static hostname: node1
Icon name: computer-vm
Chassis: vm
Machine ID: 22349ac6f9ba406293d0541bcba7c05d
Boot ID: 3261349e4b7b4981a32d255a82484ab8
Virtualization: vmware
Operating System: Ubuntu 22.04.4 LTS
Kernel: Linux 5.15.0-107-generic
Architecture: x86-64
Hardware Vendor: VMware, Inc.
Hardware Model: VMware Virtual Platform

K8s:
Client Version: v1.29.5
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.5

安装

wget https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.32/k8sgpt_amd64.deb
dpkg -i k8sgpt_amd64.deb

使用月之暗面LLM

月之暗面的api是和openai兼容的

  1. 申请API
    moonshot API

  2. 删除默认的openai设置

cp ~/.config/k8sgpt/k8sgpt.yaml ~/.config/k8sgpt/k8sgpt.yaml.orig
>~/.config/k8sgpt/k8sgpt.yaml
  1. 生成k8sgpt配置文件
k8sgpt auth add -b openai -u https://api.moonshot.cn -m moonshot-v1-8k
# 填入API key
  1. 查看yaml文件
# cat ~/.config/k8sgpt/k8sgpt.yaml
ai:
    providers:
        - name: openai
          model: moonshot-v1-8k
          password: sk-hdKOoZgHOXRDrDfFO4wP9BGZrYdx43qGVqBNuvGL4R28c62a
          baseurl: https://api.moonshot.cn
          temperature: 0.7
          topp: 0.5
          topk: 50
          maxtokens: 2048
    defaultprovider: ""
kubeconfig: ""
kubecontext: ""

测试

k8sgpt analyze --explain
k8sgpt analyze --explain -o json
k8sgpt filters list

在这里插入图片描述

其他命令

Run a scan with the default analyzers

k8sgpt generate
k8sgpt auth add
k8sgpt analyze --explain
k8sgpt analyze --explain --with-doc

Filter on resource

k8sgpt analyze --explain --filter=Service

Filter by namespace

k8sgpt analyze --explain --filter=Pod --namespace=default

Output to JSON

k8sgpt analyze --explain --filter=Service --output=json

Anonymize during explain

k8sgpt analyze --explain --filter=Service --output=json --anonymize

Using filters

List filters

k8sgpt filters list

Add default filters

k8sgpt filters add [filter(s)]

Examples :

  • Simple filter : k8sgpt filters add Service
  • Multiple filters : k8sgpt filters add Ingress,Pod

Remove default filters

k8sgpt filters remove [filter(s)]

Examples :

  • Simple filter : k8sgpt filters remove Service
  • Multiple filters : k8sgpt filters remove Ingress,Pod

Additional commands

List configured backends

k8sgpt auth list

Update configured backends

k8sgpt auth update $MY_BACKEND1,$MY_BACKEND2..

Remove configured backends

k8sgpt auth remove -b $MY_BACKEND1,$MY_BACKEND2..

List integrations

k8sgpt integrations list

Activate integrations

k8sgpt integrations activate [integration(s)]

Use integration

k8sgpt analyze --filter=[integration(s)]

Deactivate integrations

k8sgpt integrations deactivate [integration(s)]

Serve mode

k8sgpt serve

Analysis with serve mode

grpcurl -plaintext -d '{"namespace": "k8sgpt", "explain": false}' localhost:8080 schema.v1.ServerService/Analyze

FAQ

目前有那些大模型ai可以自动运维k8s集群

目前有一些大模型 AI 工具可以帮助自动运维 Kubernetes(K8s)集群。让我为您介绍其中两个:

  1. k8sgpt:这是一个新一代AI驱动的Kubernetes诊断工具,专门用于扫描Kubernetes集群、诊断和分级问题。它将站点可靠性工程(SRE)的经验编码到其分析器中,并通过AI丰富问题的解释。k8sgpt支持与多个AI服务提供商的开箱即用集成,包括OpenAI、Azure、Cohere、Amazon Bedrock、Google Gemini以及本地模型¹. 您可以在k8sgpt官网上了解更多信息。

  2. KServe + vLLM:这是一个与云无关的标准大模型推理平台,专为大模型应用高度可扩展而构建。KServe封装了自动扩展、网络、健康检查和服务器配置的复杂性,使得生产大模型应用服务变得简单、可插拔。vLLM是一种快速且易于使用的低延迟模型推理引擎,支持高吞吐量和GPU利用率。您可以使用KServe + vLLM部署大模型的推理服务,将大模型应用到实际业务场景中.

还有其他类似的AI自动运维K8s集群的工具吗?

当然,除了之前提到的 k8sgptKServe + vLLM,还有其他一些类似的AI自动运维K8s集群的工具。以下是其中两个值得关注的工具:

  1. Kubectl-GPT:这是一个Kubectl插件,可以使用GPT模型从自然语言输入生成Kubectl命令。您只需输入您想要执行的操作,Kubectl-GPT会自动转换成相应的Kubernetes集群命令。您可以使用Homebrew或Krew来安装Kubectl-GPT,并在终端中运行命令.

    • 使用Homebrew安装:

      brew tap devinjeon/kubectl-gpt
      brew install kubectl-gpt
      
    • 使用Krew安装:

      kubectl krew index add devinjeon https://github.com/devinjeon/kubectl-gpt
      kubectl krew install devinjeon/gpt
      

    您可以通过自然语言输入运行命令行工具,生成Kubectl命令,例如:

    kubectl gpt "Print the creation time and pod name of all pods in all namespaces."
    
  2. Kube-Copilot:这是由OpenAI支持的Kubernetes Copilot。它具有以下主要功能:

    • 使用ChatGPT(GPT-4或GPT-3.5)自动执行Kubernetes集群操作。
    • 诊断和分析Kubernetes工作负载的潜在问题。
    • 根据提示说明生成Kubernetes清单。
    • 利用本地kubectl和trivy命令进行Kubernetes集群访问和安全漏洞扫描。
      您可以通过Helm或kubectl在Kubernetes中运行Kube-Copilot,也可以在本地安装并使用pip命令安装Kube-Copilot².

    安装示例(使用Helm):

    # 使用Helm和OpenAI API密钥
    helm install kube-copilot kube-copilot \
        --repo https://feisky.xyz/kube-copilot \
        --set openai.apiModel=gpt-4 \
        --set openai.apiKey=$OPENAI_API_KEY
    

    或者,您可以使用kubectl运行Kube-Copilot:

    kubectl run -it --rm copilot \
        --env="OPENAI_API_KEY=$OPENAI_API_KEY" \
        --restart=Never \
        --image=ghcr.io/feiskyer/kube-copilot \
        -- execute --verbose 'What Pods are using max memory in the cluster'
    

这些工具将帮助您更好地管理和运维Kubernetes集群,提高效率并优化资源利用率。

k8sgpt可以接本地的ollama模型吗

当然可以!k8sgpt 可以接入本地部署的 ollama 模型。让我为您详细介绍一下如何实现这个集成。

  1. 安装 Ollama

    • 首先,您需要安装 Ollama。您可以从官方网站下载 Ollama 的 Windows 安装程序并进行安装。
    • 安装完成后,您需要设置 Ollama 的存储位置,可以通过设置环境变量来实现。
  2. 下载 Ollama 模型

    • Ollama 官网上,您可以找到模型列表。复制您想要使用的模型的名称。
    • 打开命令行(cmd),粘贴模型名称并开始下载。下载完成后,您可以在本地的命令行中与模型进行对话。
  3. 安装部署 Fastgpt

    • 您还可以部署 Fastgpt,这是一个与云无关的标准大模型推理平台。您可以使用 Docker Compose 快速部署 Fastgpt
    • 配置 Fastgpt 的模型,将 Ollama 集成到您的应用中。
  4. 配置 ChatOllama

    • 访问 ChatOllama,配置 Ollama 的地址。
    • 下载 embeddingchat 模型,进行推理和对话。
  5. 配置 One API

    • 创建一个令牌并设置无限访问时间。
    • 创建 chatembedding 渠道,将 Ollama 集成到您的应用中。
  6. 配置 Fastgpt

    • 找到 Fastgpt 的配置文件 config.json,配置 Ollama 模型。
    • 重新启动 Fastgpt

现在,您已经成功将本地的 Ollama 模型集成到 k8sgpt 中,可以开始使用了!

k8sgpt只是调用ai的接口让ai来处理k8s集群状态和输出答案吗

k8sgpt 不仅仅是调用 AI 接口来处理 Kubernetes 集群状态和输出答案。它是一个更为复杂和高级的工具,结合了 Kubernetes 的集群管理能力和 AI 的智能分析能力。以下是 k8sgpt 工作原理的简要概述:

  1. 数据收集

    • k8sgpt 首先从 Kubernetes 集群中收集数据,包括 Pods、Services、Nodes 等资源的状态和配置信息。
  2. 问题诊断

    • 当用户提出问题时,k8sgpt 会分析集群数据,并利用 AI 模型来理解问题的上下文和具体细节。
  3. 智能分析

    • AI 模型会对问题进行深入分析,找出可能的原因,并生成解决方案的建议。
  4. 自然语言处理

    • k8sgpt 使用自然语言处理技术来解析用户的查询,并将 AI 的分析结果转换为易于理解的自然语言回答。
  5. 持续学习

    • k8sgpt 的 AI 模型可以通过持续学习来改进其诊断和分析能力,以提供更准确和有效的支持。

总的来说,k8sgpt 是一个综合性的工具,它不仅仅是简单地调用 AI 接口,而是通过智能化的方式来增强 Kubernetes 集群的管理和运维。它的目标是使集群管理更加高效、简单和智能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/687314.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试题react03

React事件机制: React的事件机制可以分为两个部分:事件的触发和事件的处理。事件的触发:在React中,事件可以通过用户与组件进行交互而触发,如点击、鼠标移动、键盘输入等。当用户与组件进行交互时,浏览器会…

mysql 8 linux7,8安装教程

选择自己对应的linux版本 cat /etc/os-release //查看自己linux系统版本 1.mysql下载地址 MySQL :: Download MySQL Community Server (Archived Versions) 拉到下面找到 选择自己linux指定的版本,否则会很麻烦 cat /etc/os-release //查看系统版本 2.查…

为什么给网站安装SSL证书之后还是有被提示不安全?

分为两种情况一种是安装了付费证书之后还是显示无效,另一种是安装了免费SSL证书的。 付费SSL证书:直接找厂商帮助解决遇到的问题,一般都是有专业的客服来对接这些的。 免费SSL证书:出现这种情况的原因会有很多。因为免费SSL证书的…

代码随想录-二叉树 | 101对称二叉树

代码随想录-二叉树 | 101对称二叉树 LeetCode 101-对称二叉树解题思路代码难点总结 LeetCode 101-对称二叉树 题目链接 代码随想录 题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 解题思路 判断: 同时遍历并比较根节点的左、右子树。…

服务器数据恢复—强制上线raid5阵列离线硬盘导致raid不可用的数据恢复案例

服务器数据恢复环境: 某品牌2850服务器中有一组由6块SCSI硬盘组建的raid5磁盘阵列,linux操作系统ext3文件系统。 服务器故障: 服务器运行过程中突然瘫痪。服务器管理员检查阵列后发现raid5阵列中有两块硬盘离线,将其中一块硬盘进行…

3、前端本地环境搭建

前端本地环境搭建 安装node [node下载地址] https://nodejs.org/en/download/prebuilt-installer 选择LTS的版本进行下载 下载后直接双击点击,选择自己想要安装到的目录一直点下一步即可(建议不要安装到c盘) 安装完成后配置环境变量&am…

JSON 无法序列化

JSON 无法序列化通常出现在尝试将某些类型的数据转换为 JSON 字符串时,这些数据类型可能包含不可序列化的内容。 JSON 序列化器通常无法处理特定类型的数据,例如日期时间对象、自定义类实例等。在将数据转换为 JSON 字符串之前,确保所有数据都…

PHP线上文具商城设计与实现-计算机毕业设计源码65198

摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对线上文具商城 等问题,对线上文具…

Python 和 Java 实现云计算的最终年项目

1、问题背景 目前,我正在进行我的最终年项目,计划用 Python 编写一个云计算系统,而云客户端将由我的团队成员使用 Java 来编写。这个云客户端将具有一个带有标签的界面,并提供文本编辑器、媒体播放器、几个基于 Java 的小游戏以及…

20240607给Toybrick的TB-RK3588开发板在Buildroot下适配瑞芯微7.86寸QXGATFT-LCD EDP屏幕1536x2048

20240607给Toybrick的TB-RK3588开发板在Buildroot下适配瑞芯微7.86寸QXGATFT-LCD EDP屏幕1536x2048 2024/6/7 13:59 1、背光部分&#xff1a;&backlight { pwms <&pwm2 0 25000 0>; status "okay"; }; &pwm2 { status "okay&…

5、搭建前端项目

5.1 使用vite vue搭建 win r 打开终端 切换到你想要搭建的盘 npm init vitelatest跟着以下步骤取名即可 cd fullStackBlognpm installnpm run dev默认在 http://localhost:5173/ 下启动了 5.2 用vscode打开项目并安装需要的插件 1、删除多余的 HelloWorld.vue 文件 2、安装…

linux驱动学习(七)之混杂设备

需要板子一起学习的可以这里购买&#xff08;含资料&#xff09;&#xff1a;点击跳转 一、混杂设备 混杂设备也叫杂项设备&#xff0c;是对普通的字符设备(struct cdev)的一种封装,设计目的就是为了简化字符设备驱动设计的流程。具有以下特点&#xff1a; 1) 主设备号为10&a…

你工作中最推荐的 C/C++ 程序库有哪些,为什么?

我主要做计算力学&#xff0c;说说平时用的一些c库1、前处理划网格用netgen&#xff0c;非结构网格功能强大&#xff0c;有可执行的软件和供调用的库&#xff0c;使用方便。 刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「C的资料从专业入门到高级教程」&…

1898java疫情防控管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 疫情防控管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助采用了java设计&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发…

【JMeter接口测试工具】第一节.JMeter简介和安装【入门篇】

文章目录 前言一、JMeter简介 1.1 JMeter基本介绍 1.2 JMeter优缺点二、JMeter安装 2.1 JMeter安装步骤 2.2 JMeter环境配置三、项目介绍 3.1 项目简介 3.2 API接口清单总结 前言 一、JMeter简介 1.1 JMeter基本介绍 JMeter 是 Apache 组织使用…

【NoSQL】Redis练习

1、redis的编译安装 systemctl stop firewalld systemctl disable firewalld setenforce 0 yum install -y gcc gcc-c make wget cd /opt wget https://download.redis.io/releases/redis-5.0.7.tar.gz tar zxvf redis-5.0.7.tar.gz -C /opt/cd /opt/redis-5.0.7/ # 编译 make…

【性能测试】Jmeter —— jmeter计数器

jmeter计数器 如果需要引用的数据量较大&#xff0c;且要求不能重复或者需要递增&#xff0c;那么可以使用计数器来实现 如&#xff1a;新增功能&#xff0c;要求名称不能重复 1&#xff0c;新增计数器 计数器&#xff1a;允许用户创建一个在线程组之内都可以被引用的计数器…

QComboBox条目可选择状态

有时候下拉框需要根据情况&#xff0c;将某些条目设为不可点击状态&#xff0c;或者动态切换为可点击状态&#xff0c;可采用以下方法。 //item1可选ui->comboBox->setItemData(0, QVariant(-1), Qt::UserRole-1);//item2不可选ui->comboBox->setItemData(1, QVari…

2024年5大制作AI电子手册工具推荐

AI电子手册作为一种结合了人工智能技术和传统电子手册功能的新型工具&#xff0c;逐渐成为了企业进行知识管理和信息传递的重要工具&#xff0c;为企业提高效率、优化用户体验。在本文中&#xff0c;LookLook同学将简单介绍一下什么是AI电子手册、对企业有什么好处&#xff0c;…

官网万词霸屏推广 轻松实现百度万词霸屏源码系统 带完整的安装代码包以及搭建教程

系统概述 官网万词霸屏推广源码系统是一款基于先进技术研发的综合性 SEO 工具。它的设计理念是通过智能化的算法和策略&#xff0c;帮助用户快速提升网站在百度等搜索引擎中的排名&#xff0c;实现大量关键词的霸屏效果。该系统整合了多种优化技术&#xff0c;包括关键词研究、…