内容目录
前情提要
前面两篇分别讲了如何使用结合本地大模型使用K8sGPT
K8sGPT+Ollama Kubernetes 智能诊断助手
以及 K8sGPT源码分析
对于机器性能不足以本地部署大模型以及没有网络条件使用 openai的 api 的同学可以参考官方https://github.com/k8sgpt-ai/k8sgpt/issues/990 使用自定义大模型,本文也是参考这个 issue实验所得。这里我以DeepSeek为例,其他国产大模型也是类似方法。
DeepSeek
注册
网址如下,目前送 10 元额度,个人使用免费额度肯定是够用了。
https://platform.deepseek.com/
申请 apikey
https://platform.deepseek.com/api_keys
申请后是一串 sk-开头的字符串记得保存好,后面会需要用到
- API key:sk-xxxxxx
查看 api文档
https://api-docs.deepseek.com/zh-cn/
这里需要记一下关键参数后面会用到
- base_url : https://api.deepseek.com
- model: deepseek-chat
K8sGPT
安装
这里以 mac 为例,其他方式可参考https://docs.k8sgpt.ai/getting-started/installation/
brew install k8sgpt
新增后端模型
这里用到的一些参数就是前文需要留存的参数,对应关系如下:
- model : deepseek-chat
- password : sk-xxxxxx
- baseurl : https://api.deepseek.com
k8sgpt auth add --backend localai --model deepseek-chat --password sk-xxxxxx --baseurl https://api.deepseek.com
如何之前新增过,那么可以使用更新命令
k8sgpt auth update --backend localai --model deepseek-chat --password sk-xxxxxx --baseurl https://api.deepseek.com
设置默认 provider,那么K8sGPT分析时默认就会用这个 provider 的大模型,否则需要增加参数进行指定
k8sgpt auth default --provider localai
测试
添加一个镜像错误
kubectl create deployment demo1 --image=httpd44444 --port=80
开始分析
k8sgpt analyze --explain --filter=Pod -n=default
这里就给出了发生错误的信息和一些解决方案
100% |███████████████████████████████████████████████| (1/1, 735 it/s)
AI Provider: localai
0: Pod default/demo1-594db5c476-pslgz(Deployment/demo1)
- Error: Back-off pulling image "httpd44444"
Error: Back-off pulling image "httpd44444"
Solution:
1. Check if the image exists on Docker Hub or your registry.
2. Verify the image name and tag are correct.
3. Run docker pull httpd44444
to test the image pull.
4. If still failing, check network connectivity and firewall rules.
5. Update your Kubernetes configuration with the correct image path.
这里输出还是英文的,如果需要中文输出需要修改提示词模版新增中文输出的字样,然后进行源码编译,具体修改可参考我之前K8sGPT源码分析