Skip to main content
Glama

weibaohui%2Fk8m | Trendshift

GitHub Repo Stars GitHub Repo Forks

License MIT Go Report Card GitHub Release GitHub Downloads (all assets, all releases) GitHub Repo Issues Trust Score zread Repobeats analytics image

English | 中文

k8m ist ein KI-gestütztes Mini-Kubernetes-KI-Dashboard, ein leichtgewichtiges Konsolentool, das speziell zur Vereinfachung der Clusterverwaltung entwickelt wurde. Es basiert auf AMIS und nutzt kom als Kubernetes-API-Client. k8m hat Qwen2.5-Coder-7B integriert, unterstützt die Modellinteraktionsfähigkeit von deepseek-ai/DeepSeek-R1-Distill-Qwen-7B und ermöglicht gleichzeitig die Anbindung Ihrer eigenen privaten großen Sprachmodelle (einschließlich Ollama).

Schnelleinstieg

Dieses Projekt bietet eine cnb-Online-Zugriffsadresse: k8m

  1. Forken Sie dieses Projekt,

  2. Klicken Sie oben rechts im Repository auf den Button 🛫 (Start),

  3. Wählen Sie Cloud-IDE,

  4. Öffnen Sie das Terminal,

  5. Geben Sie cd letsfly/justforfun/k8m && docker-compose up -d && docker-compose ps ein,

  6. Gehen Sie zum Port (rechts im Terminal-Tab),

  7. Erstellen Sie eine Portweiterleitung, geben Sie 8888 ein und bestätigen Sie,

  8. Klicken Sie auf die generierte Weiterleitungsadresse, um die k8m-Anmeldeseite zu öffnen,

  9. Geben Sie Benutzername und Passwort ein: k8m k8m.

  10. 🛫

Dokumentation

Hauptmerkmale

  • Miniaturisiertes Design: Alle Funktionen sind in einer einzigen ausführbaren Datei integriert, was die Bereitstellung bequem und die Nutzung einfach macht.

  • Einfache Bedienung: Eine benutzerfreundliche Oberfläche und intuitive Abläufe machen die Kubernetes-Verwaltung einfacher. Unterstützt Standard-K8s, AWS EKS, K3s, Kind, K0s und andere Clustertypen.

  • Hohe Leistung: Das Backend ist in Golang geschrieben, das Frontend basiert auf Baidu AMIS, was eine hohe Ressourceneffizienz und schnelle Reaktionszeiten garantiert.

  • KI-gestützte Integration: Basiert auf ChatGPT für Wort-für-Wort-Erklärungen, Ressourcenleitfäden, automatische Übersetzung von YAML-Attributen, Interpretation von Describe-Informationen, KI-Diagnose von Protokollen und Empfehlungen für laufende Befehle. Zudem ist die k8s-gpt-Funktionalität integriert, um eine intelligente Unterstützung für die K8s-Verwaltung zu bieten.

  • Funktions-Plugin-System: Funktionen sind als Plugins modularisiert und können bei Bedarf aktiviert werden, ohne Ressourcen zu verbrauchen, wenn sie nicht genutzt werden.

  • MCP-Integration: Visuelle MCP-Verwaltung, Implementierung von Tools für große Sprachmodelle, 49 integrierte K8s-Multi-Cluster-MCP-Tools, die kombiniert über hundert Cluster-Operationen ermöglichen. Kann als MCP-Server für andere KI-Software verwendet werden. Jede MCP-Anfrage wird detailliert protokolliert. Unterstützt gängige mcp.so-Dienste.

  • MCP-Berechtigungsdurchgriff: Die Berechtigungen für die Multi-Cluster-Verwaltung und die MCP-KI-Aufrufe sind verknüpft. Kurz gesagt: Wer die KI nutzt, führt MCP-Operationen mit seinen eigenen Berechtigungen aus. Sicher in der Anwendung, ohne Sorgen vor unbefugten Zugriffen.

  • Multi-Cluster-Verwaltung: Automatische Erkennung des InCluster-Modus. Nach Konfiguration des kubeconfig-Pfads werden Konfigurationsdateien im selben Verzeichnis automatisch gescannt. Mehrere Cluster können gleichzeitig registriert und verwaltet werden, inklusive Heartbeat-Überwachung und automatischer Wiederverbindung.

  • Multi-Cluster-Berechtigungsverwaltung: Unterstützt die Autorisierung für Benutzer und Benutzergruppen. Berechtigungen können pro Cluster vergeben werden (schreibgeschützt, Exec-Befehl, Cluster-Administrator). Nach der Autorisierung einer Gruppe erhalten alle Benutzer in der Gruppe die entsprechenden Rechte. Unterstützung für Black- und Whitelists von Namespaces.

  • Unterstützung neuester K8s-Funktionen: Unterstützt APIGateway, OpenKruise und andere Funktionen.

  • Pod-Dateiverwaltung: Im Dateibaum auf der linken Seite der Konsole können Sie über das Kontextmenü Dateien innerhalb von Pods durchsuchen, bearbeiten, hochladen, herunterladen und löschen.

  • Pod-Betriebsverwaltung: Unterstützt die Echtzeit-Anzeige von Pod-Protokollen, das Herunterladen von Protokollen und die direkte Ausführung von Shell-Befehlen innerhalb des Pods. Unterstützt Strg+F-Suche, ähnlich wie bei grep -A -B mit hervorgehobener Suche.

  • Offene API: Unterstützt die Erstellung von API-Keys für den Zugriff von externen Drittanbietern und bietet eine Swagger-Schnittstellenverwaltungsseite.

  • Cluster-Inspektionsunterstützung: Unterstützt zeitgesteuerte Multi-Cluster-Inspektionen, benutzerdefinierte Inspektionsregeln und Lua-Skriptregeln. Unterstützt den Versand an DingTalk-, WeChat-, Lark-Gruppen sowie benutzerdefinierte Webhooks. Unterstützt KI-Zusammenfassungen.

  • K8s-Event-Weiterleitung: Unterstützt die Weiterleitung von Multi-Cluster-K8s-Events an Webhooks. Filterung nach Cluster, Schlüsselwort, Namespace, Name usw. möglich, um mehrere dedizierte Überwachungskanäle aufzubauen. Unterstützt KI-Zusammenfassungen.

  • CRD-Verwaltung: Automatische Erkennung und Verwaltung von CRD-Ressourcen, baumartige Auflistung aller CRDs zur Steigerung der Arbeitseffizienz.

  • Helm-Marktplatz: Unterstützt das freie Hinzufügen von Helm-Repositories, die Installation, Deinstallation und Aktualisierung von Helm-Anwendungen mit einem Klick sowie automatische Updates.

  • Plattformübergreifende Unterstützung: Kompatibel mit Linux, macOS und Windows, unterstützt x86, ARM und andere Architekturen für einen nahtlosen Betrieb.

  • Multi-Datenbank-Unterstützung: Unterstützt SQLite, MySQL, PostgreSQL und andere Datenbanken.

  • Vollständig Open Source: Der gesamte Quellcode ist offen, ohne Einschränkungen, frei anpassbar und erweiterbar, kommerzielle Nutzung möglich.

Die Designphilosophie von k8m lautet "KI-gesteuert, leicht und effizient, Komplexität vereinfachen". Es hilft Entwicklern und Administratoren, schnell loszulegen und Kubernetes-Cluster mühelos zu verwalten.

Ausführung

  1. Download: Laden Sie die neueste Version von GitHub Release herunter.

  2. Ausführung: Starten Sie mit dem Befehl ./k8m und besuchen Sie http://127.0.0.1:3618.

  3. Anmeldedaten:

    • Benutzername: k8m

    • Passwort: k8m

    • Bitte ändern Sie nach der Inbetriebnahme den Benutzernamen und das Passwort und aktivieren Sie die Zwei-Faktor-Authentifizierung.

  4. Parameter:

Usage of ./k8m:
      --enable-temp-admin                是否启用临时管理员账户配置,默认关闭
      --admin-password string            管理员密码,启用临时管理员账户配置后生效 
      --admin-username string            管理员用户名,启用临时管理员账户配置后生效
      --print-config                     是否打印配置信息 (default false)
      --connect-cluster                  启动集群是是否自动连接现有集群,默认关闭
  -d, --debug                            调试模式
      --in-cluster                       是否自动注册纳管宿主集群,默认启用
      --jwt-token-secret string          登录后生成JWT token 使用的Secret (default "your-secret-key")
  -c, --kubeconfig string                kubeconfig文件路径 (default "/root/.kube/config")
      --kubectl-shell-image string       Kubectl Shell 镜像。默认为 bitnami/kubectl:latest,必须包含kubectl命令 (default "bitnami/kubectl:latest")
      --log-v int                        klog的日志级别klog.V(2) (default 2)
      --login-type string                登录方式,password, oauth, token等,default is password (default "password")
      --image-pull-timeout               Node Shell、Kubectl Shell 镜像拉取超时时间。默认为 30 秒
      --node-shell-image string          NodeShell 镜像。 默认为 alpine:latest,必须包含`nsenter`命令 (default "alpine:latest")
  -p, --port int                         监听端口 (default 3618)
  -v, --v Level                          klog的日志级别 (default 2)

Alternativ können Sie es direkt über docker-compose (empfohlen) starten:

services:
  k8m:
    container_name: k8m
    image: registry.cn-hangzhou.aliyuncs.com/minik8m/k8m
    restart: always
    ports:
      - "3618:3618"
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data:/app/data

Nach dem Start besuchen Sie den Port 3618, Standardbenutzer: k8m, Standardpasswort: k8m. Wenn Sie es schnell in einer Online-Umgebung ausprobieren möchten, besuchen Sie: k8m

Related MCP server: Kubernetes Monitor

Ausführung in einem containerisierten K8s-Cluster

Verwenden Sie KinD oder MiniKube, um einen kleinen K8s-Cluster zu installieren.

KinD-Methode

  • Erstellen Sie einen KinD Kubernetes-Cluster

brew install kind
  • Erstellen Sie einen neuen Kubernetes-Cluster:

kind create cluster --name k8sgpt-demo

Bereitstellung von k8m im Cluster zum Testen

Installationsskript

kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m.yaml
  • Zugriff: Standardmäßig wird nodePort verwendet, bitte besuchen Sie Port 31999. Oder konfigurieren Sie Ingress selbst. http://NodePortIP:31999

Produktionsbereitstellung mit Aktivierung des Leader-Election-Plugins, Hinweise

  • Bei der Ausführung einer einzelnen Instanz darf die Service-Definition nicht das Label k8m.io/role: leader enthalten, da sonst kein Zugriff möglich ist.

  • Bei der Ausführung mehrerer Instanzen muss die Service-Definition das Label k8m.io/role: leader enthalten, da sonst kein Umschalten erfolgt.

  • Das YAML für den Betrieb mehrerer Instanzen sieht wie folgt aus:

kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m-ms.yaml

ChatGPT-Konfigurationsanleitung

Integriertes GPT

Ab Version v0.0.8 ist GPT integriert, eine Konfiguration ist nicht erforderlich. Wenn Sie Ihr eigenes GPT verwenden möchten, lesen Sie bitte die folgende Dokumentation.

ChatGPT-Status-Debugging

Wenn nach dem Einstellen der Parameter keine Wirkung eintritt, versuchen Sie ./k8m -v 6, um weitere Debug-Informationen zu erhalten. Es werden folgende Informationen ausgegeben. Überprüfen Sie die Protokolle, um festzustellen, ob ChatGPT aktiviert ist.

Entwicklung und Debugging

Wenn Sie lokal entwickeln und debuggen möchten, führen Sie bitte zuerst einen lokalen Frontend-Build durch, um das dist-Verzeichnis automatisch zu generieren. Da dieses Projekt binäre Einbettung verwendet, wird ohne das dist-Frontend ein Fehler ausgegeben.

Schritt 1: Frontend kompilieren

cd ui
pnpm run build

Backend kompilieren und debuggen

#下载依赖
go mod tidy
#运行
air
#或者
go run *.go 
# 监听localhost:3618端口

Frontend-Hot-Reload

cd ui
pnpm run dev
#Vite服务会监听在localhost:3000端口
#Vite转发后端访问到3618端口

Besuchen Sie http://localhost:3000

HILFE & SUPPORT

Wenn Sie weitere Fragen haben oder zusätzliche Hilfe benötigen, kontaktieren Sie mich bitte jederzeit!

Besonderer Dank

zhaomingcheng01: Hat viele sehr hochwertige Vorschläge gemacht und einen herausragenden Beitrag zur Benutzerfreundlichkeit von k8m geleistet~

La0jin: Stellt Online-Ressourcen bereit und pflegt diese, was die Darstellung von k8m erheblich verbessert hat.

eryajf: Hat uns sehr nützliche GitHub Actions zur Verfügung gestellt, die k8m um automatisierte Release-, Build- und Veröffentlichungsfunktionen erweitert haben.

Hosted deployment

A hosted deployment is available on Fronteir AI.

Kontaktieren Sie mich (Lark-Gruppe)

Bildbeschreibung eingeben

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/weibaohui/k8m'

If you have feedback or need assistance with the MCP directory API, please join our Discord server