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 は、AI駆動のMini Kubernetes AI Dashboardであり、クラスター管理を簡素化するために設計された軽量コンソールツールです。AMISをベースに構築され、 kom をKubernetes APIクライアントとして使用しています。k8m にはQwen2.5-Coder-7Bが組み込まれており、deepseek-ai/DeepSeek-R1-Distill-Qwen-7Bモデルの対話機能をサポートしています。また、独自のプライベート大規模言語モデル(ollamaを含む)を接続することも可能です。

クイック体験

本プロジェクトはcnbオンラインアクセスアドレスを提供しています k8m

  1. このプロジェクトをフォークします。

  2. リポジトリ右上の 🛫起飛 (Takeoff) ボタンをクリックします。

  3. クラウドIDEを選択します。

  4. ターミナルに入ります。

  5. cd letsfly/justforfun/k8m && docker-compose up -d && docker-compose ps を入力します。

  6. ポートに入ります(ターミナルタブページの右側)。

  7. 新しいポート転送を作成し、8888を入力して確定します。

  8. 生成された転送アドレスをクリックし、k8mログインページを開きます。

  9. ユーザー名とパスワードを入力します:k8m k8m。

  10. 🛫

ドキュメント

主な特徴

  • ミニマルな設計:すべての機能が単一の実行ファイルに統合されており、デプロイが簡単で使いやすいです。

  • 簡単で使いやすい:フレンドリーなユーザーインターフェースと直感的な操作フローにより、Kubernetes管理がより簡単になります。標準k8s、aws eks、k3s、kind、k0sなどのクラスタータイプをサポートしています。

  • 高効率なパフォーマンス:バックエンドはGolangで構築され、フロントエンドはBaidu AMISをベースにしており、高いリソース利用率と高速な応答速度を保証します。

  • AI駆動の融合:ChatGPTに基づき、単語の解説、リソースガイド、YAML属性の自動翻訳、Describe情報の解釈、ログのAI診断、実行コマンドの推奨を実現しています。また、k8s-gpt 機能を統合し、中国語での表示を実現し、k8s管理にインテリジェントなサポートを提供します。

  • 機能のプラグイン化:機能はプラグイン化されており、必要に応じて有効化できるため、使用しない場合はリソースを消費しません。

  • MCP統合: MCPの視覚的管理、大規模モデルによるツール呼び出しを実現。49種類のk8sマルチクラスターMCPツールを内蔵しており、組み合わせることで100種類以上のクラスター操作を実現可能です。他の大規模モデルソフトウェアのMCPサーバーとして使用できます。MCP呼び出しのたびに詳細な記録が可能です。mcp.soの主要サービスをサポートしています。

  • MCP権限の統合: マルチクラスター管理権限とMCP大規模モデル呼び出し権限が統合されています。一言で言えば、大規模モデルを使用するユーザーの権限でMCPが実行されます。安全に使用でき、権限の逸脱を防ぎます。

  • マルチクラスター管理: クラスター内部のInClusterモードを自動認識し、kubeconfigパスを設定すると同階層のディレクトリにある設定ファイルを自動スキャンします。複数のクラスターを同時に登録・管理し、ハートビート検出と自動再接続をサポートします。

  • マルチクラスター権限管理: ユーザーやユーザーグループへの権限付与をサポートし、クラスター単位での権限付与(クラスター読み取り専用、Execコマンド、クラスター管理者)が可能です。ユーザーグループに権限を付与すると、グループ内のユーザー全員が対応する権限を取得します。ネームスペースのホワイトリスト/ブラックリスト設定をサポートしています。

  • k8sの最新機能をサポート: APIGateway、OpenKruiseなどの機能特性をサポートしています。

  • Podファイル管理: コンソール画面左側のファイルツリーの右クリックメニューから、Pod内のファイルの閲覧、編集、アップロード、ダウンロード、削除をサポートし、日常的な操作を簡素化します。

  • Pod実行管理: Podログのリアルタイム表示、ログのダウンロード、Pod内での直接Shellコマンド実行をサポートしています。Ctrl+Fによる検索をサポートしており、grep -A -Bのようなハイライト検索が可能です。

  • API公開: API KEYの作成をサポートし、サードパーティからの外部アクセスを可能にします。Swaggerインターフェース管理ページを提供します。

  • クラスター巡回点検サポート: マルチクラスターの定期的な巡回点検、カスタム巡回点検ルール、Luaスクリプトルールをサポートしています。DingTalkグループ、WeChatグループ、Feishuグループ、およびカスタムWebhookへの送信をサポートしています。AIによる要約をサポートしています。

  • k8s Event転送: マルチクラスターのk8s EventをWebhookに転送することをサポートしており、クラスター、キーワード、ネームスペース、名前などでフィルタリングし、複数の専用監視転送チャネルを構築できます。AIによる要約をサポートしています。

  • CRD管理: CRDリソースを自動的に発見して管理し、すべてのCRDをツリー状にリスト表示することで作業効率を向上させます。

  • Helmマーケット: Helmリポジトリの自由な追加をサポートし、ワンクリックでのHelmアプリケーションのインストール、アンインストール、アップグレードが可能です。自動更新をサポートしています。

  • クロスプラットフォームサポート: Linux、macOS、Windowsと互換性があり、x86、ARMなどの複数のアーキテクチャをサポートし、マルチプラットフォームでのシームレスな実行を保証します。

  • マルチデータベースサポート: SQLite、MySql、PostgreSqlなど、複数のデータベースをサポートしています。

  • 完全オープンソース: すべてのソースコードを公開しており、制限はなく、自由にカスタマイズや拡張が可能で、商用利用も可能です。

k8m の設計理念は「AI駆動、軽量で効率的、複雑さを簡素化する」ことであり、開発者や運用担当者がKubernetesクラスターを迅速に使いこなし、簡単に管理できるよう支援します。

実行

  1. ダウンロードGitHub release から最新バージョンをダウンロードします。

  2. 実行./k8m コマンドを使用して起動し、http://127.0.0.1:3618 にアクセスします。

  3. ログインユーザー名とパスワード

    • ユーザー名:k8m

    • パスワード:k8m

    • 公開後はユーザー名とパスワードを変更し、二要素認証を有効にしてください。

  4. パラメータ

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)

docker-compose(推奨)を使用して直接起動することも可能です:

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

起動後、3618ポートにアクセスします。デフォルトユーザー:k8m、デフォルトパスワード:k8m。 オンライン環境で素早く体験したい場合は、こちらにアクセスしてください:k8m

Related MCP server: Kubernetes Monitor

コンテナ化されたk8sクラスターでの実行方法

KinDMiniKube を使用して、小さなk8sクラスターをインストールします。

KinD方式

  • KinD Kubernetesクラスターを作成します

brew install kind
  • 新しいKubernetesクラスターを作成します:

kind create cluster --name k8sgpt-demo

k8mをクラスターにデプロイして体験する

インストールスクリプト

kubectl apply -f https://raw.githubusercontent.com/weibaohui/k8m/refs/heads/main/deploy/k8m.yaml
  • アクセス: デフォルトではnodePortを使用して公開されています。31999ポートにアクセスしてください。または、Ingressを独自に設定してください。 http://NodePortIP:31999

本番環境でのデプロイとリーダー選出プラグインの有効化、注意事項

  • 単一インスタンスで実行する場合、serviceの定義に k8m.io/role: leader ラベルを「追加しないで」ください。追加すると正常にアクセスできません。

  • 複数インスタンスで実行する場合、serviceの定義に k8m.io/role: leader ラベルを「必ず追加」してください。そうしないと切り替わりません。

  • 複数インスタンスで実行する場合のyamlは以下の通りです:

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

ChatGPT 設定ガイド

内蔵GPT

v0.0.8バージョンからGPTが内蔵されており、設定は不要です。 独自のGPTを使用する必要がある場合は、以下のドキュメントを参照してください。

ChatGPT ステータスデバッグ

パラメータを設定しても効果がない場合は、./k8m -v 6 を使用してより詳細なデバッグ情報を取得してみてください。 以下の情報が出力されます。ログを確認して、ChatGPTが有効になっているか確認してください。

開発デバッグ

ローカルで開発デバッグを行う場合は、まず一度ローカルフロントエンドビルドを実行して、distディレクトリを自動生成してください。本プロジェクトはバイナリ埋め込みを採用しているため、distフロントエンドがないとエラーが発生します。

ステップ1 フロントエンドのコンパイル

cd ui
pnpm run build

バックエンドのコンパイルとデバッグ

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

フロントエンドのホットリロード

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

http://localhost:3000 にアクセスします

ヘルプとサポート

さらに質問がある場合や追加のサポートが必要な場合は、お気軽にご連絡ください!

特別な感謝

zhaomingcheng01:非常に質の高い提案を多数いただき、k8mの使いやすさに多大な貢献をしてくれました~

La0jin: オンラインリソースの提供とメンテナンスを行い、k8mの表示効果を大幅に向上させました

eryajf: 非常に使いやすいgithub actionsを提供し、k8mの自動リリース、ビルド、公開などの機能を追加しました

ホスト型デプロイ

ホスト型デプロイは Fronteir AI で利用可能です。

連絡先 Feishuグループ

画像の説明を入力

-
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