Kubernetes调试终极武器: K8sGPT

K8sGPT结合了GPT的AI能力,为智能化分析和运维Kubernetes集群提供了开箱即用的解决方案。原文: K8s Tools — K8sGPT[1]

alt

随着人工智能和机器学习技术的进步,企业和组织越来越多的探索创新战略,以求利用这些能力来获得竞争优势。

K8sGPT[2]就是该领域最强大的工具之一,它是一种基于k8s的GPT模型,结合了k8s编排的优点以及GPT模型复杂的自然语言处理能力。

什么是K8sGPT?

先看一个例子:

alt

根据K8sGPT官网解释:

K8sgpt是一个用英语扫描kubernetes集群、诊断和分类问题的工具。它将SRE经验编入其分析程序,帮助提取最相关的信息,并用AI充实其内容。

K8sGPT是干什么用的?

K8sGPT最近已经作为沙盒项目提交给云原生计算基金会(CNCF),展示了其对云原生社区的潜在价值。

CNCF目前正在对其进行初步评估,这是令人鼓舞的进展,体现了对创建满足Kubernetes用户需求的工具的奉献精神。

alt

K8sGPT可以用作:

  • 工作负载运行状况分析: 查找工作负载的关键问题
  • 快速分类,AI分析: 检查或用AI深入分析集群
  • 辅助理解: 把复杂信号转化为容易理解的建议
  • 安全CVE审查: 连接到Trivy等扫描程序并对问题进行分类
K8sGPT如何工作?

K8sGPT使用一组专门设计的分析器来检测和简化Kubernetes集群中诊断和解决问题的任务。这些分析器基于SRE的智慧经验编码,擅长提供高度准确和相关的信息。

下面是一些内置分析器:

  • PodAnalyzer: 该工具仔细检查pod设置,搜索可能导致复杂问题的潜在问题,例如pod故障或过度使用资源。
  • PVCAnalyzer: 该工具检查持久卷声明(Persistent Volume Claim, PVC)的配置,搜索可能导致数据丢失或其他存储相关挑战的任何差异。
  • ServiceAnalyzer: 这个工具探测服务设置,寻找任何可能导致服务中断或性能下降的潜在问题。
  • DeploymentAnalyzer: 该工具检查Deployment配置,找出可能导致资源利用效率低下的任何问题。
  • NodeAnalyzer: 该工具检查K8s集群节点,识别与节点运行状况、使用情况和容量相关的任何潜在问题。
如何安装K8sGPT?
前置条件
  1. 确保正确安装了 k8sgpt
  2. 现成的K8s集群
  3. OpenAI提供的API密钥作为默认AI供应商
Homebrew

使用以下命令安装K8sGPT:

$ brew install k8sgpt
基于RPM的安装
$ curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.2.7/k8sgpt_amd64.rpm
$ sudo rpm -ivh -i k8sgpt_amd64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:k8sgpt-0:0.2.7-1                 ################################# [100%]
基于DEB的安装
$ curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.2.7/k8sgpt_amd64.deb
$ sudo dpkg -i k8sgpt_amd64.deb
基于APK的安装
$ curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.2.7/k8sgpt_amd64.apk
$ apk add k8sgpt_amd64.apk
验证安装
$ k8sgpt version
k8sgpt version 0.2.7
设置认证

注意: 假设已经拥有OpenAI API-key

$ k8sgpt auth
Using openai as backend AI provider
Enter openai Key: New provider added
key added
如何使用K8sGPT?

一旦完成OpenAI身份验证,就可以通过输入以下命令开始使用K8sGPT:

$ k8sgpt

Kubernetes debugging powered by AI

Usage:
  k8sgpt [command]

Available Commands:
  analyze     This command will find problems within your Kubernetes cluster
  auth        Authenticate with your chosen backend
  completion  Generate the autocompletion script for the specified shell
  filters     Manage filters for analyzing Kubernetes resources
  generate    Generate Key for your chosen backend (opens browser)
  help        Help about any command
  integration Intergrate another tool into K8sGPT
  serve       Runs k8sgpt as a server
  version     Print the version number of k8sgpt

Flags:
      --config string        config file (default is $HOME/.k8sgpt.yaml)
  -h, --help                 help for k8sgpt
      --kubeconfig string    Path to a kubeconfig. Only required if out-of-cluster. (default "/mnt/efs/data/home/txu/.kube/config")
      --kubecontext string   Kubernetes context to use. Only required if out-of-cluster.

Use "k8sgpt [command] --help" for more information about a command.

最常用的命令是k8sgpt analyze:

$ k8sgpt analyze --explain
alt

也可以输出JSON格式:

alt

查看可用的过滤器:

$ k8sgpt filters list
Active:
> Service
> CronJob
> Node
> Pod
> Deployment
> Ingress
> StatefulSet
> ReplicaSet
> PersistentVolumeClaim
Unused:
> HorizontalPodAutoScaler
> PodDisruptionBudget
> NetworkPolicy
额外参数
filters
 $ k8sgpt analyze --filter=Service
 $ k8sgpt analyze --namespace=default
anonymize
$  k8sgpt analyze --anonymize
其他AI后端
$  k8sgpt auth -b 
结论
alt

随着企业和组织不断探索创造性方法来利用AI和机器学习的力量,K8sGPT正在成为帮助他们实现目标的有力工具。利用优越的自然语言处理能力和K8s编排优势,K8sGPT有可能彻底改变我们分析和理解文本数据的方法,从而促进众多领域的创新。


你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。为了方便大家以后能第一时间看到文章,请朋友们关注公众号"DeepNoMind",并设个星标吧,如果能一键三连(转发、点赞、在看),则能给我带来更多的支持和动力,激励我持续写下去,和大家共同成长进步!

参考资料

[1]

K8s Tools — K8sGPT: https://blog.devgenius.io/k8s-tools-k8sgpt-1fd35e6affc

[2]

K8sGPT: https://docs.k8sgpt.ai

- END -

本文由 mdnice 多平台发布

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

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

相关文章

vue3+luckyexcel+php在线编辑excel文件

开发过程中,需要开发一个在线编辑excel文档的功能,找到了这个合适的组件 Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源。 可以导入文档,预览、编辑、保存、导出等功能,可以满…

去水印软件哪个好用?用他们就够了

随着数字媒体的发展,越来越多的人开始需要处理带有水印的图片或视频。水印不仅是一种版权保护手段,也常常被用来标记图片或视频的来源。然而,在某些情况下,我们可能需要去除水印以实现更好的使用效果。那么,去水印软件…

使用克魔助手查看IOS游戏FPS的方法详解

查看IOS游戏FPS 摘要 本篇技术博客将介绍如何使用克魔助手工具来查看iOS游戏的帧率(FPS)。通过克魔助手,开发者可以轻松监测游戏性能,以提升用户体验和游戏质量。 引言 在iOS游戏开发过程中,了解游戏的帧率对于优化…

16-网络安全框架及模型-BiBa完整性模型

目录 BiBa完整性模型 1 背景概述 2 模型原理 3 主要特性 4 优势和局限性 5 应用场景 BiBa完整性模型 1 背景概述 Biba完整性模型是用于保护数据完整性的模型,它的主要目标是确保数据的准确性和一致性,防止未授权的修改和破坏。在这个模型中&#…

SpreadJS 集成使用案例

SpreadJS 集成案例 介绍: SpreadJS 基于 HTML5 标准,支持跨平台开发和集成,支持所有主流浏览器,无需预装任何插件或第三方组件,以原生的方式嵌入各类应用,可以与各类后端技术框架相结合。SpreadJS 以 纯前…

打开相机失败 出现错误的原因

如何解决? Debug中缺少DLL文件 以下参考周姐文档 相机调用步骤 学习相机第三方库的安装 https://blog.csdn.net/Qingshan_z/article/details/117257136书签:QT添加库(静态库和动态库)_Qingshan_z的博客-CSDN博客_qt添加库 添加文…

ASUS华硕ROG幻16 2023款GU603VU VV VI笔记本电脑原厂Win11.22H2系统

链接:https://pan.baidu.com/s/1AgevUZleCHBJgCBcIp5CFQ?pwdhjxy 提取码:hjxy 华硕笔记本2023款幻16原厂Windows11系统自带所有驱动、出厂主题壁纸、Office办公软件、MyASUS华硕电脑管家、Armoury Crate奥创控制中心等预装程序 文件格式&#xff1…

WEB渗透—PHP反序列化(九)

Web渗透—PHP反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩…

网络隔离后,怎样建立高效安全的数据安全交换通道?

数据安全对企业生存发展有着举足轻重的影响,数据资产的外泄、破坏都会导致企业无可挽回的经济损失和核心竞争力缺失。数据流动才能让其释放价值,想要保护企业核心资产,就要实现数据安全交换。 很多企业为了防止知识产权、商业机密数据泄露&am…

树莓派安装Nginx搭建web服务器结合内网穿透实现无公网IP远程访问本地站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Ngi…

errors包返回堆栈信息的性能测试

errors包返回堆栈信息的性能测试 上一篇Golang中使用errors返回调用堆栈信息 讲了使用第三方开源库的errors github.com/go-errors/errors,错误信息带调用栈,方便定位错误的抛出位置。 通过堆栈的信息来定位是方便了,性能怎么样&#xff0c…

Pandas教程(三)—— 数据清洗与准备

1.处理缺失值 1.1 数据删除函数 作用:删除Dataframe某行或某列的数据 语法:df.drop( labels [ ] ) drop函数的几个参数: labels :接收一个列表,内含删除行 / 列的索引编号或索引名 axis &…

抖音、小红书、视频号是如何判定是否限流的?

在这个新媒体营销的时代,抖音、小红书和视频号作为中国最受欢迎的社交媒体平台,为品牌和内容创作者提供了极具潜力的展示空间。然而,无论在哪个平台,限流成为很多人的苦恼。 抖音的推荐算法基于人群画像和初始流量池,同…

k8s的二进制部署(源码包部署)

实验条件: 主机名 IP地址 组件 作用 master01 20.0.0.17 kube-apiserver、kube-controller-manager、kube-scheduler、etcd k8s部署 master02 20.0.0.27 kube-apiserver、kube-controller-manager、kube-scheduler node01 20.0.0.37 kubelet、kube-pro…

Java开发框架和中间件面试题(10)

目录 104.怎么保证缓存和数据库数据的一致性? 105.什么是缓存穿透,什么是缓存雪崩?怎么解决? 106.如何对数据库进行优化? 107.使用索引时有哪些原则? 108.存储过程如何进行优化? 109.说说…

JVM高频面试题(2023最新版)

JVM面试题 1、JVM内存区域 Jvm包含两个子系统和两个组件。 1.1子系统 Class loader(类加载器):根据给定的全限定名类名(java.lang.object)来装载class文件到Runtime data area(运行时数据区)…

医院安全(不良)事件报告系统源码 支持二次开发、支持源码交付

医疗不良事件报告系统源码旨在建立全面的、统一的医疗不良事件标准分类系统和患者安全术语,使不良事件上报管理更加标准化和科学化。通过借鉴国内外医疗不良事件报告系统的先进经验,根据医疗不良事件的事件类型、处理事件的不同部门,灵活设置…

【python 的各种模块】(8) 在python使用matplotlib和wordcloud库来画wordcloud词云图

目录 目标:用python画出,网上流行的wordcloud词云图 1 准备工作 1.1环境准备 1.1.1安装步骤 1.2 资源准备 1.2.1 文本文件内容如下 1.2.2 图片资源 2 代码测试 2.1 第一版代码和效果 2.1.1 代码和效果 2.1.2 一般plt里解决中文乱码问题 2.1…

Java中XML的解析

1.采用第三方开元工具dom4j完成 使用步骤 1.导包dom4j的jar包 2.add as lib.... 3.创建核心对象, 读取xml得到Document对象 SAXReader sr new SAXReader(); Document doc sr.read(String path); 4.根据Document获取根元素对象 Element root doc.getRootElement(); …

win11 or win10 安装Ubuntu 22.04.3 LTS 子系统

** 1. 修改电脑的相关设置 ** 1.在系统设置中的开发者人员模式,设置为开启状态 2. 在控制面板中的程序中的启用或者关闭windows功能下,开启(勾选)子系统模式,然后重启电脑 2. 在Microsoft store中下载子系统&…