プログラミング
Show HN: K10s – クリック可能なKubernetes TUI (Go, Bubble Tea)
Show HN: K10s – A Clickable Kubernetes TUI (Go, Bubble Tea) (github.com)
要約
K10sは、Kubernetesのための新しいクリック可能なターミナルUI(TUI)です。既存のツール(k9sなど)の使いやすさをさらに向上させ、マウス操作、高速検索、テーマ設定、そしてクラスターのコンテキストを理解するAIアシスタント機能を備えています。高速な起動と、クラスター不要で試せるデモモードも特徴です。
全文翻訳
クリック可能なKubernetesターミナルUI。
k9sは私達にターミナルでの生活を教えてくれました。k10sは、そのターミナルをポイント&クリック可能にし、即座に検索可能で、テーマ設定が可能で、クラスター、ネームスペース、選択されたオブジェクトを既に知っているAIを搭載しています。
インストール
クラスターなしで試す
機能
k9s → k10s
ドキュメント
ビルドログ
オフラインデモバックエンドで実行中のk10sデモの実際のターミナルキャプチャ - スクリーンショットのみ、オフラインデモバックエンド上。これらのドキュメントの各フレームは、実行中のバイナリから取得されており、手書きではありません。
なぜk10sなのか
クラスターダッシュボードは、一日に二十回開くもので、通常は何か燃えている最中です。重要なのは、どれだけ速く開くか、そしてどれだけ覚える必要があるかが少ないかです。何も記憶されたキーの背後に隠されていません。選択したオブジェクトに適用されるアクションは、それ自身のペインにリストされています。1つをクリックするか、その横の文字を押します。マウスが機能します。行をクリックし、ペインをクリックし、[ズーム]をクリックし、ns default ▾をクリックし、テーブルをスクロールします。各境界ボタンは本物です。
クラスター全体のための1つの検索ボックス。
ctrl+pはリソースの種類とオブジェクトを一緒に検索します。学習するプレフィックス言語はありません。
即座に開きます。起動はウォッチをゼロ登録し、何も待ちません - インフォーマーは、最初にそれを見るごとに、種類ごとに遅延して開始されます。Podsを開くことは、Podsをウォッチし、あなたが所有するすべてのSecretとEventをウォッチしません。(方法、および回帰ガード)
画面を見ることができるAI。
ctrl+a、平易な英語で質問します。現在のコンテキスト、ネームスペース、種類、選択されたオブジェクトがプロンプトに挿入されるため、「なぜこのPodが非健全なのですか?」は、このPodを意味します。
自己更新します。
/updateは、実行中のバイナリの上に最新リリースをインストールします - チェックサム検証済み、アトミック、再起動を提案します。あなたのk9sスタイルのコマンドプラグインが適合します。
~/.k10s/plugins.yamlにスコープ付きショートカットを配置します。それらは組み込みアクションの横に表示され、選択されたオブジェクト、ネームスペース、コンテキスト、および列の値を受け取ります。
30秒で試す(クラスター不要)
k10sはオフラインデモバックエンドを搭載しています:クラッシュループバックオフを含む、クリックして操作できる現実的なクラスターです。サンプルデータがあなたのマシンと混同されるべきではないため、これはオプトインです。
git clone https://github.com/p10node/k10s && cd k10s
go run . demo # サンプルクラスター - フェイクデータ、明確にラベル付け
go run . # あなたの実際のクラスター、または存在しない場合は「クラスターなし」
デモはモードではなくコンテキストです。k10s demoはそれに接続し、/demoはどこからでもそれに切り替え、:ctxは常にそれをリストします(k10s demo · サンプルデータとラベル付けされ、リストの下に凡例があります)。終了するには、他のコンテキストを選択します - 独立した終了はありません。それが起動している間、ヘッダーにはDEMOマーカーがあり、そのフレームは実際のクラスターと混同されることはありません。
プレーンなk10sは、kubectlが読み取るのと同じkubeconfig($KUBECONFIG、または~/.kube/config)を読み取り、そのコンテキストが到達できるものを表示します - それ以外は何も表示しません。kubeconfigがない場合、またはAPIサーバーが応答しないコンテキストの場合、メインパネルには「クラスターなし」と表示され、接続方法が示されます:rは再試行、:ctxは別のコンテキストを選択、/setupはkubectlとkubeconfigへのリンクがあります。docs/cluster-setup.mdは同じガイドですが、より長いです。
インストール
curl -fsSL https://p10node.com/k10s/install.sh | sh
macOSおよびLinux、amd64およびarm64用。適切な事前ビルドバイナリを選択し、リリースマニフェストに対してsha256を検証し、/usr/local/bin(またはパスワードを要求できない場合は~/.local/bin)にインストールします。
Goがインストールされている場合:
go install github.com/p10node/k10s@latest
またはクローンから、バージョンをバイナリにスタンプすることもできます:
git clone https://github.com/p10node/k10s && cd k10s
just install # → $GOBIN/k10s、バージョンスタンプ付き
darwin/amd64、darwin/arm64、linux/amd64、linux/arm64、windows/amd64用の事前ビルド静的バイナリが各タグで公開されています - Windowsはインストーラースクリプトがリリースページに送信する唯一のプラットフォームです。
それ以降のすべてのアップグレードは次のとおりです:
k10s update
そして実行します:
k10s # 現在のkubeconfigコンテキスト
k10s demo # 内蔵サンプルクラスター、クラスター不要
k10s --readonly # 見るだけで触らない:クラスターを変更するものは何もなし
k10s --version # このビルドは何ですか
何が得られるか
あなたが考えるようにグループ化されたすべてのリソース
ワークロード、ネットワーク、設定、ストレージ、RBAC、クラスター、カスタムリソースの30種類、それぞれ現在のネームスペースのライブ行カウント付き。CRDは自動的に検出されます - 設定不要。グループは折りたたまれ、スペース、左、またはヘッダーをクリックすると、再起動間で記憶され、設定/ストレージ/RBACは最初に折りたたまれます。折りたたまれたグループはクラスターに何も要求しません - サイドバーが表示される種類をカウントするかどうかを決定し、カウントは表示される種類ごとに1つのlimit=1リクエスト、同時に6つまでで、拒否は記憶されます。
Pods · Deployments · ReplicaSets · StatefulSets · DaemonSets · Jobs · CronJobs · HPAs · Services · Endpoints · Ingresses · NetworkPolicies · ConfigMaps · Secrets · ResourceQuotas · LimitRanges · PDBs · PVCs · PVs · StorageClasses · ServiceAccounts · Roles · RoleBindings · ClusterRoles · ClusterRoleBindings · Nodes · Namespaces · Events · CRDs · Custom Resources
単一キーのデイ2ツールキット全体
d describe 実際のkubectl describe出力、APIから
y YAML ライブオブジェクト
l logs フォロー(-f)、最新が一番下、500行までスクロールバック
s shell 実際のインタラクティブなexecセッション - 生TTY、リサイズ対応、インパネル
p port-forward 実際のSPDYフォワード、ペインから開始/停止
m top Pod/Nodeメトリクス、コンテナごと、リクエスト対制限付き
e edit · r restart · c scale ロールアウト再起動、スケール、$EDITOR
o / u cordon-uncordon / drain - ノードが選択された場合にのみ提供されます
D delete 赤い確認モーダル、恐ろしいはずなので
コアk9s plugins.yaml形式で独自のスコープ付きアクションを追加します。フォアグラウンドまたはバックグラウンドコマンドを実行し、確認を要求し、組み込みショートカットを意図的にオーバーライドし、同じペインでクリック可能です。プラグインガイドとインストール可能な例を参照してください。
既に見ていたペインでフォローするログ(zでズーム)
╭─ logs -f billing-worker-6f8d9c5b7-qq91x ────────────────────────────────── [ close ] [ restore ] ╮
│ 8 2026-08-25T08:12:18.331Z INFO http GET /v1/users/me 200 3.1ms │
│ trace=44b1e2f9 │
│ 7 2026-08-25T08:12:21.660Z INFO worker flushed batch size=250 dur=41ms │
│ 6 2026-08-25T08:12:25.019Z INFO http GET /healthz 200 0.3ms │
│ 5 2026-08-25T08:12:31.402Z INFO http DELETE /v1/sessions/9a1 204 5.7ms │
│ trace=7c0d19ba │
│ 4 2026-08-25T08:12:33.881Z WARN gc pause=18ms heap=412Mi │
│ 3 2026-08-25T08:12:40.117Z INFO http GET /v1/orders/88213 200 7.4ms │
│ trace=e21f8b05 │
│ 2 2026-08-25T08:12:44.590Z INFO metrics scrape ok series=1842 │
│ 1 2026-08-25T08:12:51.008Z INFO http GET /healthz 200 0.3ms │
│ ● following newest at bottom 500 loaded · ↑ for older │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
コンテキストを持つAIプロンプト
╭─ Prompt · plain text → AI · /commands still work · esc close ─ [ grow ] [ AI · claude-sonnet-5 ] ╮
│ ✦ ask about your cluster… · /settings to change provider/model │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
● AIモード — 平文は通常のテキストビューとして開かれ、スクロール、ズーム、クローズが可能です。クラスターデータは、AIモードでEnterキーを押さない限り、マシンから離れません。k10sが独自に行う唯一の他のネットワーク呼び出しは、一日に一度のアップデートチェックで、GitHubにバージョン番号を問い合わせるだけで、それ以上のものはありません。
OpenAI互換(Groq、Together、OpenRouter、vLLM、Ollama、LM Studio、ローカルゲートウェイなど、またはAnthropic)のキーを持ち込みます。回答は、スクロール、ズーム、クローズ可能な通常のテキストビューとして開きます。
8つの組み込みテーマ、さらに独自のテーマ - ライブプレビュー付き
tokyo-night (デフォルト) · catppuccin-mocha · dracula · nord · gruvbox-dark · solarized-dark · solarized-light · matrix
Tでサイクル、/themeはリストを移動しながら各テーマを適用するピッカーを開きます - 名前ではなく実際のUIで判断します - そしてe