每日速递:可以诊断k8s的chatgpt神器:k8sgpt-operator
背景
在 Kubernetes 上,从部署 Deployment 到正常提供服务,整个流程可能会出现各种各样问题,有兴趣的可以浏览Kubernetes Deployment 的故障排查可视化指南(2021 中文版)[1]。从可视化指南也可能看出这些问题实际上都是有迹可循,根据错误信息基本很容易找到解决方法。随着 ChatGPT 的流行,基于 LLM 的文本生成项目不断涌现,k8sgpt[2]便是其中之一。
k8sgpt 是一个扫描 Kubernetes 集群、诊断和分类问题的工具。它将 SRE 经验编入其分析器,并通过 AI 帮助提取并丰富相关的信息。
其内置了大量的分析器:
(相关资料图)
podAnalyzer pvcAnalyzer rsAnalyzer serviceAnalyzer eventAnalyzer ingressAnalyzer statefulSetAnalyzer deploymentAnalyzer cronJobAnalyzer nodeAnalyzer hpaAnalyzer(可选) pdbAnalyzer(可选) networkPolicyAnalyzer(可选)k8sgpt 的能力是通过 CLI 来提供的,通过 CLI 可以对集群中的错误进行快速的诊断。
k8sgptanalyze--explain--filter=Pod--namespace=default--output=json{\"status\":\"ProblemDetected\",\"problems\":1,\"results\":[{\"kind\":\"Pod\",\"name\":\"default/test\",\"error\":[{\"Text\":\"Back-offpullingimage\"flomesh/pipy2\"\",\"Sensitive\":[]}],\"details\":\"TheKubernetessystemisexperiencingdifficultypullingtherequestedimagenamed\"flomesh/pipy2\".
Thesolutionmaybetocheckthattheimageiscorrectlyspelledortoverifythatitexistsinthespecifiedcontainerregistry.Additionally,ensurethatthenetworkinginfrastructurethatconnectsthecontainerregistryandKubernetessystemisworkingproperly.Finally,checkifthereareanyaccessrestrictionsorcredentialsrequiredtopulltheimageandensuretheyareprovidedcorrectly.\",\"parentObject\":\"test\"}]}
但是,每次进行诊断都要执行命令,有点繁琐且限制较多。我想大家想要的肯定是能够监控到问题并自动诊断。这就有了今天要介绍的k8sgpt-operator[3]
介绍
简单来说 k8sgpt-operator 可以在集群中开启自动化的 k8sgpt。它提供了两个 CRD:K8sGPT
和Result
。前者可以用来设置 k8sgpt 及其行为;而后者则是用来展示问题资源的诊断结果。
apiVersion:core.k8sgpt.ai/v1alpha1kind:K8sGPTmetadata:name:k8sgpt-samplenamespace:kube-systemspec:model:gpt-3.5-turbobackend:openainoCache:falseversion:v0.2.7enableAI:truesecret:name:k8sgpt-sample-secretkey:openai-api-key
演示
实验环境使用 k3s 集群。
exportINSTALL_K3S_VERSION=v1.23.8+k3s2curl-sfLhttps://get.k3s.io|sh-s---disabletraefik--disablelocal-storage--disableservicelb--write-kubeconfig-mode644--write-kubeconfig~/.kube/config
安装 k8sgpt-operator
helmrepoaddk8sgpthttps://charts.k8sgpt.ai/helmrepoupdatehelminstallreleasek8sgpt/k8sgpt-operator-nopenai--create-namespace
安装完成后,可以看到随 operator 安装的两个 CRD:k8sgpts
和results
。
kubectlapi-resources|grep-igptk8sgptscore.k8sgpt.ai/v1alpha1trueK8sGPTresultscore.k8sgpt.ai/v1alpha1trueResult
在开始之前,需要先生成一个OpenAI 的 key[4],并保存到 secret 中。
OPENAI_TOKEN=xxxxkubectlcreatesecretgenerick8sgpt-sample-secret--from-literal=openai-api-key=$OPENAI_TOKEN-nopenai
接下来创建 K8sGPT 资源。
kubectlapply-nopenai-f-<
执行完上面的命令后在openai
命名空间下会自动创建Deployment
k8sgpt-deployment
。
测试
使用一个不存在的镜像创建 pod。
kubectlruntest--imageflomesh/pipy2-ndefault
然后在openai
命名空间下会看到一个名为defaulttest
的资源。
kubectlgetresult-nopenaiNAMEAGEdefaulttest5m7s
详细信息中可以看到诊断内容以及出现问题的资源。
kubectlgetresult-nopenaidefaulttest-oyamlapiVersion:core.k8sgpt.ai/v1alpha1kind:Resultmetadata:creationTimestamp:\"2023-05-02T09:00:32Z\"generation:1name:defaulttestnamespace:openairesourceVersion:\"1466\"uid:2ee27c26-61c1-4ef5-ae27-e1301a40cd56spec:details:\"TheerrormessageisindicatingthatKubernetesishavingtroublepullingtheimage\"flomesh/pipy2\"andisthereforebackingofffromtryingtodoso.
Thesolutiontothisissuewouldbetocheckthattheimageexistsandthatthespellingandsyntaxoftheimagenameiscorrect.Additionally,checkthattheimageisaccessiblefromtheKubernetesclusterandthatanyrequiredauthenticationorauthorizationisinplace.Iftheissuepersists,itmaybenecessarytotroubleshootthenetworkconnectivitybetweentheKubernetesclusterandtheimagerepository.\"error:-text:Back-offpullingimage\"flomesh/pipy2\"kind:Podname:default/testparentObject:test
参考资料
[1]Kubernetes Deployment 的故障排查可视化指南(2021 中文版):https://atbug.com/troubleshooting-kubernetes-deployment-zh-v2/
[2]k8sgpt:https://github.com/k8sgpt-ai/k8sgpt
[3]k8sgpt-operator:https://github.com/k8sgpt-ai/k8sgpt-operator
[4]OpenAI 的 key:https://platform.openai.com/account/api-keys
标签:
- 每日速递:可以诊断k8s的chatgpt神
- 贵州剑河:新时代智慧农家书屋构筑
- 环球焦点!壹点灵“倾诉”业务升级
- 记忆力超群的爸爸 今日快讯
- 原想变美在贵阳星妍芭莎做眼袋 谁
- 781万!郴州彩民喜中大奖! 新动态
- 如何填报中考志愿表例子_如何填报中
- 猛兽SHEIN 开始被供应链背刺? 每
- 全球新资讯:厦门49家优质企业赴莆
- 我国西部首座500千伏串抗站建成投运
- 烎歌词嘉德罗斯_烎_环球看点
- 环球热门:七日曝光超6亿!邀来戚薇
- 全球热门:安阳市内黄县田氏镇:紧绷
- 汤阴法院开展防范电信网络诈骗、养
- “宜居靓家园,健康新生活”——文
- 文峰区甜水井街道:“小板凳”解决
- 环球新消息丨安阳市北关区整建制开
- 学术论文写作与发表指导课程
- 4月末中国外汇储备环比升幅0.66%|天
- 消费支出强劲火爆 “五一”凸显中
- 世界关注:璞海嘉鹏25度海湾一号房
- 农村低保户可以申请贷款吗_低保户可
- 粉红色的回忆原唱歌词_粉红色的回忆
- 27股特大单净流入资金超2亿元 今日
- 时讯:致善创新科技共创美好未来 O
- 普陀区召开2022-2024年巩卫周期复审
- 6-0后!德甲争冠还有变数:多特差1
- 环球即时:【花式游太山,尽享文化
- 小度科技将进军手机市场?官方:消
- 奇迹时代4低阶附魔流怎么玩-快消息