Build

使用C# Blazor 编写的kubernetes管理工具,集成了ChatGPT类大模型,用简单易用的操作界面,提升k8s管理效率。 尤其适合新手入门使用,提供多种便捷功能方便初学者掌握k8s知识。

  • 多彩直观显示 k8s 资源
  • Yaml 定义字段按树形展开分析,自带文档,且有可使用大模型进行翻译。再也不用担心记不住定义了。
  • 详细的 k8s 资源字段解释,再也不用担心不知道这个字段有几个选项、都是什么意思了。可链接访问官方文档。
  • 官方示例集成,以目录树的形式呈现k8s官方示例,可以随时浏览参考,复制字段了。
  • 支持高效编辑资源Yaml,在一个页面内可以一边写 yaml 字段,一边查字段定义了。
  • 支持 Pod 页面关联显示对应的 Service、Ingress,支持 Service、Ingress页面展示后端Pod。
  • 大模型生成 yaml、大模型问题分析、大模型安全检测。
  • 资源用量动态展示(需安装 metric server),支持统计数据详情查看。
  • 页面功能集成 kubectl describe、kubectl explain、kubectl top 等高频命令,使用界面点击即可查看。
  • 集群页面增加巡检功能,对主要资源对象的常见错误进行巡检,并给出巡检结果明细列表。
  • 支持中文、英文以及法语、德语、意大利语、俄语、西班牙语、法语、日语、韩语等12国语言。

☀️ 授权协议

BlazorK8s

k8s 集群安装

使用KinDMiniKube 安装一个小型k8s集群

KinD方式

  • 创建 KinD Kubernetes 集群
  1. brew install kind
  • 创建新的 Kubernetes 集群:
  1. kind create cluster --name k8sgpt-demo

将blazorK8s 部署到集群中体验

安装脚本

  1. kubectl apply -f https://gitee.com/weibaohui/blazork8s/raw/main/deploy/deployment.yaml

使用docker启动镜像进行体验

启动服务

使用docker-desktop需要自行处理apiserver的访问域名地址,请确保在docker内可访问

X86架构环境

  1. docker run -it --rm -v ~/.kube/:/root/.kube/ -p 4000:8080 ghcr.io/weibaohui/blazork8s:0.1.9

ARM Run (Mac M1/2/3等ARM架构)

  1. docker run -it --rm -v ~/.kube/:/root/.kube/ -p 4000:8080 ghcr.io/weibaohui/blazork8s:0.1.9-arm

源码 DEBUG 调试

  1. git clone git@github.com:weibaohui/blazork8s.git
  2. cd blazork8s/BlazorApp
  3. dotnet watch run

界面语言配置

界面默认显示为中文。如需默认显示其他语言,请修改源码BlazorApp目录下的appsettings.json或镜像/app/appsettings.json

  1. "SimpleI18n": {
  2. "LocaleFilesPath": "wwwroot/lang",
  3. "DefaultCultureName": "LANGUAGE"
  4. }

LANGUAGE可选值包括

  1. {
  2. "en-US": "English",
  3. "zh-CN": "中文(Chinese)",
  4. "es": "Español (Spanish)",
  5. "ru": "Русский (Russian)",
  6. "pt-br": "Português (Portuguese)",
  7. "pl": "Polski (Polish)",
  8. "ko": "한국어 (Korean)",
  9. "ja": "日本語 (Japanese)",
  10. "fr": "Français (French)",
  11. "de": "Deutsch (German)",
  12. "hi": "ह\u093fन\u094dद\u0940 (Hindi)",
  13. "it": "Italiano (Italian)"
  14. }

大模型 配置

修改源码BlazorApp目录下的appsettings.json 或镜像/app/目录下的appsettings.json

  1. "AI": {
  2. "Enable": true, //enabled
  3. "Select": "OpenAI" //choose a model from below
  4. },
  5. "OpenAI": {
  6. "Token": "sk-xxx",
  7. "Model": "gpt-3.5-turbo",
  8. "BaseUrl": "https://api.openai.com/v1"
  9. },
  10. "GeminiAI": {
  11. "APIKey": "AIxxxxxxx7dd3494880a7920axxxxxxxxx",
  12. "Model": "gemini-pro"
  13. }

大模型应用效果

DocTree树状展开yaml定义,再也不用担心记不住定义了


关于 - 图3

字段含义解释

点击资源详情页面上,字段前面的问号

  • 使用kubectl 获取k8s解释
  • 使用配置的AI大模型,进行智能解释,效果如下:
    关于 - 图4

生成部署yaml


通过提示词获得k8s部署yaml,并执行
关于 - 图5

智能分析

在每一个资源上面都增加了智能分析、安全分析两个按钮。
关于 - 图6

巡检支持资源情况

  • Node
  • Pod
  • Deployment
  • StatefulSet
  • ReplicaSet
  • CronJob
  • Ingress
  • Service/Endpoints
  • PersistentVolumeClaim
  • NetworkPolicy
  • HorizontalPodAutoscaler
    关于 - 图7

页面预览

click me