【ケーナインズ】

k9s(Kubernetes TUI) とは?

最終更新:
💡 Kubernetesの番犬、ターミナルから全部見守る
📌 このページのポイント
k9s ― Kubernetes TUI k9s - Pods (default) ctx: prod NAME STATUS RESTARTS AGE api-server-7f8b9c Running 0 2d web-front-4d5e6f Running 1 5d worker-abc123 CrashLoop 15 1h db-migrate-job Completed 0 3d l:logs s:shell d:describe enter:view /:filter :ctx:switch ワンキーでログ閲覧 l キー Podにシェル接続 s キー 異常Podを即発見 色分け表示
k9sのTUI画面イメージ
ひよこ ひよこ
kubectlでいちいちコマンドを打つのが大変なんだけど…
ペンギン先生 ペンギン先生
k9sを使えばターミナル上でPodやServiceをリアルタイムに一覧表示して、キーボードだけで操作できるよ。kubectlを手打ちする回数が激減するんだ
ひよこ ひよこ
具体的にどんなことができるの?
ペンギン先生 ペンギン先生
Podの一覧を見ながら、enterでログを表示、sでシェルに入る、dでdescribeを見る、みたいにワンキーで操作できるんだ。フィルタリングも/キーで即座にできるよ
ひよこ ひよこ
Podが異常な時もすぐ分かる?
ペンギン先生 ペンギン先生
ステータスが色分けされてるから、赤くなってるPodは一目で分かるよ。CrashLoopBackOffやOOMKilledもすぐ見つけられる。障害対応のスピードが全然違うんだ
ひよこ ひよこ
複数のクラスタを使ってる場合は?
ペンギン先生 ペンギン先生
コンテキストの切り替えも簡単だよ。:ctxコマンドでクラスタ一覧が出て、選ぶだけ。Namespaceの切り替えも:nsで瞬時にできるんだ
ひよこ ひよこ
カスタマイズもできるの?
ペンギン先生 ペンギン先生
スキンファイルで色をカスタマイズしたり、ホットキーでよく使うリソースへのショートカットを作ったりできるよ。ヘビーユーザーほど手放せなくなるツールだね
ひよこ ひよこ
インストールはどうやるの?難しい?
ペンギン先生 ペンギン先生
めちゃくちゃ簡単だよ。macOSならbrew install derailed/k9s/k9sの1コマンドだし、LinuxならHomebrewバイナリを直接ダウンロードするだけ。kubeconfigさえ設定済みならインストール後すぐk9sと打てば起動できるんだ。Go製のシングルバイナリだから依存関係もなくてクリーンなんだよ
ひよこ ひよこ
k9sと似たUIツールって他にもあるの?どう違うの?
ペンギン先生 ペンギン先生
LensというデスクトップGUIツールが有名で、こっちはグラフも見やすくて初心者に親しみやすいよ。ただLensは2022年に有料化が進んでコミュニティ版は機能制限があるんだ。一方k9sは完全無料でターミナルだけで完結するから、SSHで接続したリモートサーバーでも使えるのが強みだね。速度もk9sのほうが圧倒的に速いよ
ひよこ ひよこ
現場でよく使うキーを教えてほしいんだけど?
ペンギン先生 ペンギン先生
:podでPod一覧、:deployでDeployment一覧、:svcでService一覧に切り替えられるよ。選んだPodでlキーを押すとログ表示、sでシェル接続、ctrl+dで削除、ctrl+kでkillができるんだ。/で検索フィルター、escで戻る、という操作を覚えれば日常業務の8割はカバーできるんだよ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「k9s」って出てきたら「Kubernetesターミナルで直感的に操作するツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「K9s (Canines)」 = 犬たち
💬 K9はcanine(犬)の語呂合わせで、Kubernetesの番犬という意味が込められてるよ。K8s(Kubernetes)のもじりでもあるんだ
← 用語集にもどる