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: openaimodel: moonshot-v1-8kpassword: sk-hdKOoZgHOXRDrDfFO4wP9BGZrYdx43qGVqBNuvGL4R28c62abaseurl: https://api.moonshot.cntemperature: 0.7topp: 0.5topk: 50maxtokens: 2048defaultprovider: ""
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.mzph.cn/pingmian/23874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++】初识C++

【C】初识C 文章概括关键字(C98)命名空间命名空间的定义命名空间的特性 输入与输出C中的输入输出输入输出的命名空间 缺省参数函数重载引用引用的概念引用的特性引用地使用场景引用做参数引用做返回值 常引用常引用的俩个例子 引用与指针的区别 内联函数…

web端中使用vue3 实现 移动端的上拉滚动加载功能

需要再web端实现上拉加载 纯属web端的东西 类似这样的功能效果 能够在web端实现滚动分页 overflow-y: scroll;首先给这个大盒子 一个 css 样式 支持滚动 再给固定高度 这个盒子里的内容就能立马滚动起来 给这个盒子一个ref 的属性 以及 有原生滚动事件 scroll const handle…

通过龙讯旷腾PWmat发《The Journal of Chemical Physics》 :基于第一性原理分子动力学热力学积分的离子溶剂化自由能计算

背景导读 离子溶解是电化学中一个重要的过程。电化学反应中许多重要的参数,例如电化学还原电位、无限稀释活度系数、亨利定律溶解常数和离子溶解度等,都与离子的溶剂化能有关。然而,由于测量技术和数据处理的困难,离子溶剂化能的…

vCenter7.0安装部署

vCenter7.0安装部署 一、准备环境二、创建新的虚拟机1.创建虚拟机2.第3-5步可直接默认安装并同意许可协议。3.其他设置4.第一阶段直接点完成即可 三、进入第二阶段安装(输入ip:5480进入安装界面) 一、准备环境 准备一台exsi,并登…

MySQL之查询性能优化(九)

查询性能优化 MySQL查询优化器的局限性 UNION的限制 有时,MySQL无法将限制条件从外层"下推"到内层,这使得原本能够限制部分返回结果的条件无法应用到内层查询的优化上。如果希望UNION的各个子句能够根据LIMIT只取部分结果集,或者…

项目沟通管理

目录 1.概述 2.项目沟通的重要性和必要性 2.1.项目沟通的重要性 2.2.项目沟通的必要性 2.3.具体措施 3.三个过程 3.1.规划沟通管理 3.2.管理沟通 3.3.监督沟通 3.4.对应过程组 4.应用场景 4.1.十个应用场景 4.2.新产品开发项目需要与多个部门协调沟通 5.总结 1.概…

调节效应多元统计回归

什么是调节效应,给个例子说明一下: 背景 假设我们有一个国家的经济数据,我们希望研究产业数字化是否调节了环境规制对产业结构调整的影响。 步骤 1. 假设检验 原假设 (H0): 产业数字化对环境规制与产业结构调整之间的关系没有调节作用。…

银河麒麟V10_系统如何自定义添加桌面右键菜单选项

本篇博客取自《银河麒麟桌面操作系统软件适配常见问题指导手册》官网可以下载。 环境 系统版本 适用系统:V10(SP1)适用架构:X86、ARM、MIPS 其他版本和架构可做参考。 解决方案 使用下面的这个demo 编译就可以看到效果 peony…

每日一题——Python实现PAT甲级1063 Set Similarity(举一反三+思想解读+逐步优化)

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 优点 改进建议 时间复杂度分析 空间复杂度分析 总结 我要更强 优化方…

【C语言】指针(4)

一、回顾 在这之前,我们学习了很多关于指针的内容,我们先在这里简单的回顾一下。 1、一级指针 int* p; -- 整形指针-指向整形的指针 char* p; ... void* p;... ... 2、二级指针 int** p; char** p; ... 3、数组指针 -- 指向数组的指针 int (*p)[ ]…

3038. 相同分数的最大操作数目 I(Rust模拟击败100%Rust用户)

题目 给你一个整数数组 nums ,如果 nums 至少 包含 2 个元素,你可以执行以下操作: 选择 nums 中的前两个元素并将它们删除。 一次操作的 分数 是被删除元素的和。 在确保 所有操作分数相同 的前提下,请你求出 最多 能进行多少次…

Python | Leetcode Python题解之第136题只出现一次的数字

题目: 题解: class Solution:def singleNumber(self, nums: List[int]) -> int:return reduce(lambda x, y: x ^ y, nums)

Vue07-MVVM模型

一、MVVM模型的定义 M:模型(model):对应data中的数据;V:视图(view):模版;VM:视图模型(ViewModel)Vue的实例对象。 Vue.js…

WSDM2022推荐系统相关论文整理(一)

2022年第15届国际网络搜索与数据挖掘会议WSDM在2022年2月21日到25日于线上举行,共收到了786份有效投稿,最终录取篇数为159篇,录取率为20.23%。作为主流的搜索与数据挖掘会议,论文的话题主要侧重于搜索、推荐以及数据挖掘领域&…

第二证券炒股知识:北交所的股票是a股吗?是主板吗?

北交所的股票是a股,但不属于主板,是一个单独的板块。 A股主板是在上海证券买卖所或许深圳证券买卖所上市的公司,主板通常是大盘股,多为商场占有率高、规划大、盈余安稳良好的大型企业。沪市主板以600、601或603最初,深…

(学习笔记)数据基建-数据安全

(学习笔记)数据基建-数据安全 数据安全数据安全实施难点数据安全保障流程数据安全措施实施阶段数据安全如何量化产出数据安全思考 数据安全 数据安全问题是最近比较热的话题,数据泄漏引发的用户信任危机事件也比比皆是,以及跨部门…

一个案例,剖析攻防演练中威胁溯源的正确姿势

一年一度的攻防演练即将拉开帷幕。“威胁溯源”一直是演练活动中一个十分重要的工作项,它不仅有助于理解和分析攻击的来源、方法和动机,还能够显著提升整体安全防护水位,提升组件与人员的联动协作能力。在真实的攻击场景中,溯源工…

verilog 232串口通信程序

1,串口通信协议: 通常串口的一次发送或接收由四个部分组成:起始位S、数据位D0~D7(一般为 6 位~8 位之间可变,数据低位在前)、校验位(奇校验、偶检验或不需要校验位)、停止位(通常为1位、1.5位、2位)。停止位必须为逻辑 1。在一次串口通信过程中,数据接收与发送双方…

[STM32]定位器与PWM的LED控制

目录 1. 深入了解STM32定时器原理,掌握脉宽调制pwm生成方法。 (1)STM32定时器原理 原理概述 STM32定时器的常见模式 使用步骤 (2)脉宽调制pwm生成方法。 2. 实验 (1)LED亮灭 代码 测试效果 (2)呼吸灯 代码 测试效果 3.总结 1. 深入了解STM32定时器原…

Redis使用中的性能优化——搭建Redis的监测服务

大纲 环境安装配置Redis安装 安装配置redis_exporter编译运行 安装启动Prometheus创建用户下载并解压修改配置启动 安装启动grafana安装启动 测试参考资料 抛开场景和数据,谈论性能优化,就是纸上谈兵。这个系列我们将通过相关数据来展现常见的Mysql优化前…