Kubernetes

2025.12.10

公式ドキュメント

概要

Kubernetes はコンテナ化したアプリケーションをクラスタ上で管理するための基盤です。このチートシートでは、kubectl でリソースを確認し、Pod の状態を調査し、Deployment を安全に操作するための基本コマンドを整理します。

最初に覚える最小セット

コマンド用途
kubectl config current-context操作対象クラスタを確認
kubectl get pods -APod の一覧を確認
kubectl describe pod <name> -n <ns>イベントと詳細を確認
kubectl logs <pod> -n <ns>アプリログを確認
kubectl get events -n <ns>失敗理由を確認
kubectl diff -f <file.yaml>適用前に差分を確認

変更系コマンドの前には、current-context と namespace を必ず確認します。特に deleteapplyscalerollout undo は、本番クラスタでの影響範囲を確認してから実行します。

kubectl 基本

コマンド説明
kubectl get podsPod一覧
kubectl get pods -A全NamespaceのPod
kubectl get servicesService一覧
kubectl get deploymentsDeployment一覧
kubectl get nodesNode一覧
kubectl get allすべてのリソース

ポイント: kubectl get pods -Aで全Namespaceのリソースを一覧表示。-o wideを付けるとNode名やIPも表示されます。

Pod操作

コマンド説明
kubectl describe pod <name>Pod詳細
kubectl logs <pod>ログを表示
kubectl logs -f <pod>ログをフォロー
kubectl exec -it <pod> -- shコンテナに入る
kubectl delete pod <name>Podを削除
kubectl port-forward <pod> 8080:80ポートフォワード

リソース作成・適用

コマンド説明
kubectl apply -f <file.yaml>マニフェストを適用
kubectl create -f <file.yaml>リソースを作成
kubectl delete -f <file.yaml>リソースを削除
kubectl edit <resource> <name>リソースを編集

注意: kubectl createは既存リソースがあるとエラーになります。冪等な操作をしたい場合はkubectl applyを使いましょう。

Deployment

コマンド説明
kubectl scale deployment <name> --replicas=3スケール
kubectl rollout status deployment/<name>ロールアウト状態
kubectl rollout history deployment/<name>ロールアウト履歴
kubectl rollout undo deployment/<name>ロールバック

実践メモ: kubectl rollout undoで即座に前バージョンへロールバックできます。本番障害時の復旧手段として覚えておきましょう。

Namespace

コマンド説明
kubectl get namespacesNamespace一覧
kubectl create namespace <name>Namespace作成
kubectl config set-context --current --namespace=<ns>デフォルトNS変更

実践メモ: kubectl config set-context --current --namespace=<ns>でデフォルトNamespaceを変更すると、毎回-nを付ける必要がなくなります。

ポイント: トラブル時はまずkubectl get eventsでイベントを確認。Podが起動しない原因の多くはイベントに表示されます。

デバッグ

コマンド説明
kubectl describe <resource> <name>詳細情報
kubectl get eventsイベント一覧
kubectl top podsリソース使用量
kubectl top nodesNodeリソース使用量

このチートシートの使い方

Kubernetesのコマンドは数が多いため、すべてを暗記するよりも、調査の順番を決めておくほうが実務では役に立ちます。まずリソース一覧を見て、次にdescribeでイベントを確認し、最後にlogsやexecで中身を見る流れが基本です。

本番環境では、コマンドを実行するNamespaceとコンテキストを必ず確認します。意図しないクラスタに対してdeleteやapplyを実行すると影響が大きいため、操作前にcurrent-contextとnamespaceを見る習慣をつけることが重要です。

操作前チェック

  • kubectl config current-contextで対象クラスタを確認する
  • namespaceを明示しているか確認する
  • 変更系コマンドはdry-runやdiffで事前確認する
  • 障害時はevents、describe、logsの順に見る

まとめ

Kubernetes の調査は、getdescribeeventslogs の順に見ると原因を追いやすくなります。操作前には、必ず context、namespace、差分を確認し、削除やロールバックは影響範囲を把握してから実行します。

リソース定義や kubectl の挙動はバージョン差が出るため、詳しいオプションは公式リファレンスを確認してください。

参考リソース

← 一覧に戻る
PR
PR
PR
PR