A Kubernetes management tool written in C# Blazor, integrating the ChatGPT large models. It features a user-friendly interface for easy and efficient Kubernetes administration. Particularly suitable for beginners, it offers various convenient functionalities to help novices grasp Kubernetes knowledge.
- Colorful and intuitive display of Kubernetes resources.
- Yaml-defined fields are analyzed and displayed in a tree structure, accompanied by documentation. Additionally, translation using a large model is available, eliminating concerns about forgetting definitions.
- Detailed explanations of Kubernetes resource fields, ensuring no ambiguity about the number of options and their meanings.Official documentation with clickable links.
- Integration of official examples in a directory tree format, allowing easy browsing, reference, and field copying.
- Support efficient editing of YAML resources, enabling writing YAML fields on one side of the page while referring to field definitions at the same time.
- Support displaying corresponding Service and Ingress on the Pod page, and support displaying backend Pods on the Service and Ingress pages.
- Generation of Yaml 、Problem analysis、Security checks using a large model.
- Support conversational k8s functionality operations, such as semantic commands to check the running status of pods in the default namespace.
- Display resource usage dynamically (requires installation of metric server), and support viewing detailed statistical data* Integration of page functionalities such as kubectl describe, kubectl explain, kubectl top and other high-frequency commands. These can be accessed with a simple click on the user interface.
- Inspection functionality added to the cluster page, conducting common error checks on major resource objects and providing detailed lists.
- Supports Chinese, English, as well as French, German, Italian, Russian, Spanish, French, Japanese, Korean, and 12 languages.
- Visualize the relationships and states between workload resources intuitively through a topology diagram.
- Supports GatewayAPI, including GatewayClass, Gateway, HTTPRoute, GRPCRoute, TCPRoute, and UDPRoute.
- Support using Mermaid.js to visualize HttpRoute resources, which is intuitive and clear.
Create a small Kubernetes cluster using KinD、MiniKube
- install KinD on mac with
brew
.
brew install kind
- Create a new Kubernetes cluster.
kind create cluster --name k8sgpt-demo
kubectl apply -f https://raw.githubusercontent.com/weibaohui/blazork8s/main/deploy/deployment.yaml
- View the ui: By default, it uses NodePort for access. Please visit port 31999, or configure Ingress on your own. http://NodePortIP:31999 (!Do not use 127.0.0.1/localhost!)
Note: When using Docker Desktop, you need to handle the access domain address of the API server yourself. Ensure that it is accessible within the Docker environment.
docker run -it --rm -v ~/.kube/:/root/.kube/ -p 4000:8080 ghcr.io/weibaohui/blazork8s:0.2.7
docker run -it --rm -v ~/.kube/:/root/.kube/ -p 4000:8080 ghcr.io/weibaohui/blazork8s:0.2.7-arm
- View:http://IP:4000 (!Do not use 127.0.0.1/localhost!)
git clone [email protected]:weibaohui/blazork8s.git
cd blazork8s/BlazorApp
dotnet watch run
The interface defaults to displaying in Chinese. To set a default display in another language, modify the appsettings.json
in the source code's BlazorApp
directory or the image's /app/appsettings.json
.
"SimpleI18n": {
"LocaleFilesPath": "wwwroot/lang",
"DefaultCultureName": "LANGUAGE"
}
The available values for LANGUAGE
include
{
"en-US": "English",
"zh-CN": "中文(Chinese)",
"es": "Español (Spanish)",
"ru": "Русский (Russian)",
"pt-br": "Português (Portuguese)",
"pl": "Polski (Polish)",
"ko": "한국어 (Korean)",
"ja": "日本語 (Japanese)",
"fr": "Français (French)",
"de": "Deutsch (German)",
"hi": "हिंदी (Hindi)",
"it": "Italiano (Italian)"
}
- √ MoonShot AI
- √ Google Gemini
- √ Ali Qwen
- √ iFlytek Spark
- √ OpenAI
- √ One-API same as OpenAI
- √ LM Studio same as OpenAI
- √ Ollama same as OpenAI
- √ SiliconFlow same as OpenAI
Modify the appsettings.json
in the BlazorApp directory or /app/appsettings.json
in the image.
"AI": {
"Enable": true, //enabled
"Select": "OpenAI" //choose a model from below
},
"OpenAI": {
"Token": "sk-kkkkkkkkkkkkkkkkkkkk",
"Model": "alibaba/Qwen2-7B-Instruct",
"BaseUrl": "https://api.siliconflow.cn/v1"
},
"GeminiAI": {
"APIKey": "AIxxxxxxx7dd3494880a7920axxxxxxxxx",
"Model": "gemini-pro"
}
DocTree expands YAML definitions in a tree-like structure, no longer worry about forgetting the definitions.
- Use kubectl to obtain Kubernetes explanations
- Using a configured AI large model for intelligent interpretation, the results are as follows:
Obtain k8s deployment YAML through prompts and execute
Added intelligent analysis and security analysis buttons on each resource.
Visualize the relationships and states between workload resources intuitively through a topology diagram