Kubernetesクラスタを操作するための最重要ツールが kubectl です。
これは「Kubernetes APIサーバーと対話するためのコマンドラインツール」で、ほぼすべての操作がこれを通じて行えます。
ここでは、特に使用頻度が高く、トラブル対応でも役立つ基本4コマンドを紹介します。
🔍 1. kubectl get:リソースの一覧を確認する
Kubernetes上で動いているPodやService、Deploymentなどのリソースを一覧で確認できます。
kubectl get pods # Pod一覧を表示(カレントnamespace)
kubectl get pods -n kube-system # kube-system namespace のPod一覧
kubectl get svc # Service一覧
kubectl get deployment # Deployment一覧目的:何が動いているのか、今の状態は正常かをざっくり見る
よく使うオプション:
-A(全namespace)-o wide(IPアドレスやノード情報など詳細付き)
🧾 2. kubectl describe:リソースの詳細情報を確認する
あるリソースの状態やイベント履歴、関連するオブジェクトを詳しく知りたいときに使います。
kubectl describe pod my-pod-name- 表示される内容:
- Podの状態(Running / Pending / Failed)
- コンテナのイメージ、マウント情報
- 最後に発生したイベント(失敗理由など)
- トラブル時に特に有効:
- Podが起動しない
- イメージが見つからない
- マウントエラーなどの確認に最適
📜 3. kubectl logs:アプリケーションログを確認する
Pod内で動いているアプリケーションの標準出力/標準エラーを取得します。
kubectl logs my-pod-name複数コンテナがある場合:
kubectl logs my-pod-name -c コンテナ名リアルタイムで監視:
kubectl logs -f my-pod-nameよくある使い方:
- Webアプリのエラーメッセージを見る
- バッチ処理の進行状況を見る
- 起動直後にクラッシュした理由を探す
🛠️ 4. kubectl exec:Pod内でコマンドを実行する
Podの中に入り込んで、直接 ls や cat、curl などを実行できます。まるでリモートシェルのように使えます。
kubectl exec -it my-pod-name -- bash-itはインタラクティブモードで接続するためのオプション--の後にシェルコマンドを記述- 具体的な利用例:
- 環境変数の確認:
env - ログファイルの中身を見る:
cat /var/log/... - ネットワーク疎通確認:
curlやping
- 環境変数の確認:
✅ まとめ:この4つでKubernetesの観察とデバッグができる!
| コマンド | 主な用途 |
|---|---|
kubectl get | 全体の一覧を見て状況をつかむ |
kubectl describe | 詳細な状態やエラー、イベントの確認 |
kubectl logs | アプリケーションの出力ログを確認 |
kubectl exec | Pod内でコマンド実行、問題の直接調査 |
💡 補足Tips
- 使い慣れてきたら
alias k=kubectlを設定すると操作が楽になります。 kubectl get allで主要リソースまとめて見られます(ただしPod以外も混在)。- 実際に使うときはリソース名の補完が面倒なので
kubectl get pods | grepやwatchコマンドと組み合わせると便利です。
