mcpField
K
K8m

K8m

リモート
github.comクラウド・インフラ8904 週間前に更新
リポジトリ公式サイト

K8m について

k8m は、軽量でクロスプラットフォームに動作する AI 機能付きの Kubernetes ダッシュボードで、単一のバイナリとしてデプロイできます。クラスターを管理する開発者や運用担当者を対象とし、LLM からクラスター操作を行うための MCP 機能も備えています。

主な機能

  1. 01複数のアーキテクチャに対応した単一実行ファイルでのデプロイ
  2. 02複数クラスターの登録、ハートビート検出と自動再接続
  3. 03Pod のファイル、ログ、シェル操作を行う Web コンソール
  4. 04定期巡回と Event 転送、AI による要約
  5. 05Helm アプリケーションのインストール、アップグレード、アンインストール
  6. 06クラスターのユーザー権限と連動した MCP ツールの管理

活用シーン

  1. 011 つのコンソールで複数の Kubernetes クラスターを管理
  2. 02AI を用いた Pod ログやリソース説明の分析
  3. 03クラスターのイベントを DingTalk、Feishu、カスタム webhook へ転送

MCP 対応

本プロジェクトは MCP サーバーとして動作し、内蔵の Kubernetes マルチクラスターツールを他の LLM アプリケーションに公開します。ダッシュボード内で MCP ツールの呼び出しも管理します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://localhost:3619/sse
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

K8M

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 をベースに構築され、Kubernetes API クライアントとして kom を使用しています。k8m には Qwen2.5-Coder-7B が組み込まれており、deepseek-ai/DeepSeek-R1-Distill-Qwen-7Bモデルとの対話に対応しています。また、ollama を含む独自のプライベート環境の大規模モデルにも接続できます。

すぐに試す

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

  1. このプロジェクトを fork した後、
  2. リポジトリの右上にある 🛫起飛 ボタンをクリックします。
  3. クラウド IDE を選択します。
  4. ターミナルを開きます。
  5. cd letsfly/justforfun/k8m && docker-compose up -d && docker-compose ps を入力します。
  6. ポートに移動します(ターミナルのタブページの右側)。
  7. ポートフォワーディングを新規作成し、8888を入力して確定します。
  8. 生成された転送アドレスをクリックして、k8m のログインページを開きます。
  9. ユーザー名とパスワードを入力します:k8m k8m 。
  10. 🛫

README の画像

ドキュメント
主な特徴
  • ミニマル設計:すべての機能を単一の実行ファイルにまとめているため、簡単にデプロイして使用できます。
  • 簡単で使いやすい:使いやすいユーザーインターフェースと直感的な操作フローにより、Kubernetes 管理がより簡単になります。標準的な k8s、aws eks、k3s、kind、k0s などのクラスタータイプに対応しています。
  • 高いパフォーマンス:バックエンドは Golang、フロントエンドは百度 AMIS を使用して構築されており、リソース利用率の高さと応答速度の速さを実現しています。
  • AI による融合 :ChatGPT をベースに、テキスト選択による解説、リソースガイド、YAML 属性の自動翻訳、Describe 情報の解釈、ログの AI 診断、実行コマンドの推奨を実現しています。また、k8s-gptの機能を統合し、中国語で表示することで、k8s の管理をインテリジェントに支援します。
  • 機能のプラグイン化:機能はプラグイン方式で必要に応じて有効化でき、無効にしている場合はリソースを消費しません。
  • MCP 統合: MCP を視覚的に管理し、LLM による Tools の呼び出しを実現します。k8s のマルチクラスター向け MCP ツールを49種類内蔵し、組み合わせて100種類以上のクラスター操作を実行できます。MCP Server として、他の LLM ソフトウェアから利用することもできます。LLM による k8s 管理を簡単に実現できます。MCP の呼び出しを毎回詳細に記録できます。主要な mcp.so サービスに対応しています。
  • MCP 権限の連携: マルチクラスター管理の権限と、MCP による LLM 呼び出しの権限を連携します。一言でまとめると、LLM を使用するユーザー自身の権限で MCP を実行します。安心して安全に使用でき、権限を超えた操作を防止します。
  • マルチクラスター管理:クラスター内部では InCluster モードを自動認識します。kubeconfig のパスを設定すると、同じディレクトリ内の設定ファイルを自動的にスキャンし、複数のクラスターを登録して管理します。ハートビートの確認と自動再接続にも対応しています。
  • マルチクラスター権限管理:ユーザーおよびユーザーグループに権限を付与できます。クラスターごとに、クラスター読み取り専用、Exec コマンド、クラスター管理者の3種類の権限を設定できます。ユーザーグループに権限を付与すると、グループ内のすべてのユーザーに同じ権限が付与されます。名前空間の許可リストと拒否リストの設定にも対応しています。
  • k8s の最新機能に対応: APIGateway、OpenKruise などの機能に対応しています。
  • Pod ファイル管理:Console 画面左側のファイルツリーにある右クリックメニューから、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 クラスターを簡単に管理できるよう支援します。

README の画像

実行

  1. ダウンロード:GitHub releaseから最新バージョンをダウンロードします。
  2. 実行:./k8m コマンドで起動し、http://127.0.0.1:3618にアクセスします。
  3. ログインユーザー名とパスワード:
    • ユーザー名:k8m
    • パスワード:k8m
    • 本番環境への公開後は、ユーザー名とパスワードを変更し、2段階認証を有効にしてください。
  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          已废弃,无实际作用(登录凭证已改为服务端会话)
  -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

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

KinD、MiniKubeを使用して、 小規模な 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 の自動リリース、ビルド、公開などの機能強化に貢献してくださいました。

ホステッドデプロイ

Fr अनteir AIでホステッドデプロイを利用できます。

お問い合わせ Feishu グループ

画像の説明

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。