Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/weibaohui/blazork8s
manage k8s using c# blazor enhance by chatgpt ,try something new !使用blazor技术开发的内置OpenAI GPT的k8s 管理界面
https://github.com/weibaohui/blazork8s
blazor chatgpt devops kubernetes netcore openai qwen
Last synced: 8 days ago
JSON representation
manage k8s using c# blazor enhance by chatgpt ,try something new !使用blazor技术开发的内置OpenAI GPT的k8s 管理界面
- Host: GitHub
- URL: https://github.com/weibaohui/blazork8s
- Owner: weibaohui
- License: mit
- Created: 2021-06-06T14:57:45.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-14T06:03:01.000Z (7 months ago)
- Last Synced: 2024-04-14T10:24:50.931Z (7 months ago)
- Topics: blazor, chatgpt, devops, kubernetes, netcore, openai, qwen
- Language: C#
- Homepage:
- Size: 77.5 MB
- Stars: 126
- Watchers: 4
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
- awesome-dotnet - blazork8s - k8s management ui in blazor and .NET Core. (Blazor)
- awesome-blazor - Blazork8s - ![GitHub stars](https://img.shields.io/github/stars/weibaohui/blazork8s?style=flat-square&cacheSeconds=604800) ![last commit](https://img.shields.io/github/last-commit/weibaohui/blazork8s) Manage k8s using balzor with AI,like kubernetes dashboard. (Libraries & Extensions / Others)
README
[![Build](https://github.com/weibaohui/blazork8s/actions/workflows/BlazorApp.yml/badge.svg)](https://github.com/weibaohui/blazork8s/actions/workflows/server.yml)
Blazor k8s
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.
## ☀️ License[![BlazorK8s](https://img.shields.io/badge/License-MIT-blue?style=flat-square)](https://github.com/weibaohui/blazork8s/blob/master/LICENSE)
# k8s install
Create a small Kubernetes cluster using [KinD](https://kind.sigs.k8s.io/docs/user/quick-start/)、[MiniKube](https://minikube.sigs.k8s.io/docs/start/)
## KinD way
* install KinD on mac with `brew`.
```
brew install kind
```* Create a new Kubernetes cluster.
```
kind create cluster --name k8sgpt-demo
```# Deploy BlazorK8s to a cluster and experience it:
## kubectl apply yaml
```docker
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!)## Start a Docker image to experience it
### x86 Run
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
docker run -it --rm -v ~/.kube/:/root/.kube/ -p 4000:8080 ghcr.io/weibaohui/blazork8s:0.2.7
```
### ARM Run (Mac M1/2/3)
```docker
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!)
# Debug
```
git clone [email protected]:weibaohui/blazork8s.git
cd blazork8s/BlazorApp
dotnet watch run
```
# Interface Language Configuration
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
```json
{
"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)"
}
```
# ChatGPT config* √ [MoonShot AI](https://kimi.moonshot.cn/)
* √ [Google Gemini](https://gemini.google.com/)
* √ [Ali Qwen](https://tongyi.aliyun.com/qianwen/)
* √ [iFlytek Spark](https://xinghuo.xfyun.cn/spark)
* √ [OpenAI](https://openai.com/)
* √ [One-API](https://github.com/songquanpeng/one-api) same as OpenAI
* √ [LM Studio](https://github.com/lmstudio-ai/lms) same as OpenAI
* √ [Ollama](https://ollama.com/) same as OpenAI
* √ [SiliconFlow](https://siliconflow.cn/) same as OpenAIModify 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"
}
```## Effectiveness
### DocTree expands YAML definitions in a tree-like structure, no longer worry about forgetting the definitions.
### Explanation of Field Meanings
#### Click on the question mark next to the field on the resource details page.
* Use kubectl to obtain Kubernetes explanations
* Using a configured AI large model for intelligent interpretation, the results are as follows:
### Generate deployment YAML
Obtain k8s deployment YAML through prompts and execute
### Intelligent Analysis
Added intelligent analysis and security analysis buttons on each resource.
### Workload Diagram
Visualize the relationships and states between workload resources intuitively through a topology diagram
## GatewayAPI support
* GatewayClass
* Gateway
* HTTPRoute
* GRPCRoute
* TCPRoute
* UDPRoute
## UI preview
[click me](docs/ui.md)