よく使うkubectlコマンドをカテゴリ別にまとめたチートシート。基本操作からPod操作、デプロイメント管理、デバッグまで、実用的なコマンドを検索・コピーできます。
検索欄にコマンド名を入力するか、カテゴリ(基本操作、Pod操作など)でフィルタリングして目的のコマンドを見つけます。
各コマンドの説明、よく使うオプション、実際の使用例を確認します。
使用例のコマンドをクリックしてクリップボードにコピーし、ターミナルですぐに実行できます。
kubectl get pods現在のNamespaceのPod一覧を表示kubectl get pods -o wideノードやIP情報付きでPodを表示kubectl get all -n my-namespaceNamespace内の全リソースを表示kubectl describe pod my-pod特定のPodの詳細を表示kubectl describe deployment my-deployデプロイメントの詳細を表示kubectl describe node my-nodeノードの詳細を表示kubectl create -f pod.yamlファイルからリソースを作成kubectl create deployment my-app --image=nginxコマンドでデプロイメントを作成kubectl create secret generic my-secret --from-literal=key=valueSecretを作成kubectl delete pod my-pod特定のPodを削除kubectl delete -f deployment.yamlファイルで定義されたリソースを削除kubectl delete pods -l app=my-appラベルでPodをまとめて削除kubectl apply -f deployment.yamlファイルから設定を適用kubectl apply -f ./manifests/ディレクトリ内の全ファイルを適用kubectl apply -f https://example.com/manifest.yamlURLから適用kubectl edit deployment my-deployデプロイメントを編集kubectl edit configmap my-configConfigMapを編集kubectl edit svc my-serviceServiceを編集kubectl logs my-podPodのログを表示kubectl logs my-pod --tail=100最後の100行を表示kubectl logs my-pod -c my-container特定コンテナのログを表示kubectl exec -it my-pod -- /bin/bashPodでインタラクティブシェルを起動kubectl exec my-pod -- ls /appPodでコマンドを実行kubectl exec -it my-pod -c sidecar -- sh特定コンテナでシェルを起動kubectl port-forward pod/my-pod 8080:80ローカル8080をPodのポート80にフォワードkubectl port-forward svc/my-svc 8080:80Serviceのポートにフォワードkubectl port-forward deployment/my-deploy 8080:80デプロイメントのポートにフォワードkubectl cp my-pod:/app/logs ./logsPodからローカルにコピーkubectl cp ./config.yaml my-pod:/app/config.yamlローカルからPodにコピーkubectl cp my-pod:/app/logs ./logs -c my-container特定コンテナからコピーkubectl attach my-pod -it実行中のPodにインタラクティブでアタッチkubectl attach my-pod -c my-container特定コンテナにアタッチkubectl top podPodのCPU・メモリ使用状況を表示kubectl top pod --all-namespaces全Namespaceの使用状況を表示kubectl top pod --containersコンテナ単位のリソース使用状況を表示kubectl rollout status deployment/my-deployロールアウトの状態を確認kubectl rollout status deployment/my-deploy -w完了まで監視kubectl rollout history deployment/my-deployロールアウト履歴を一覧表示kubectl rollout history deployment/my-deploy --revision=2リビジョン2の詳細を表示kubectl rollout undo deployment/my-deploy直前のバージョンにロールバックkubectl rollout undo deployment/my-deploy --to-revision=2特定リビジョンにロールバックkubectl scale deployment my-deploy --replicas=3デプロイメントを3レプリカにスケールkubectl scale deployment my-deploy --replicas=0レプリカを0にスケールダウンkubectl scale statefulset my-sts --replicas=5StatefulSetをスケールkubectl autoscale deployment my-deploy --min=2 --max=10 --cpu-percent=80デプロイメントにHPAを作成kubectl get hpaHorizontal Pod Autoscaler一覧を表示kubectl set image deployment/my-deploy my-container=nginx:1.25コンテナイメージを更新kubectl set image deployment/my-deploy *=nginx:latest全コンテナをlatestに更新kubectl get namespace全Namespaceを一覧表示kubectl get nsNamespace一覧を短縮エイリアスで表示kubectl get ns -o wide詳細付きでNamespaceを表示kubectl create namespace my-namespaceNamespaceを作成kubectl create ns staging短縮エイリアスでNamespaceを作成kubectl config set-context --current --namespace=my-namespace現在のコンテキストのデフォルトNamespaceを設定kubectl config set-context my-context --namespace=staging特定コンテキストのNamespaceを設定kubectl config view全kubeconfigを表示kubectl config view --minify現在のコンテキストの設定のみ表示kubectl config use-context my-clusterコンテキストを切り替えkubectl config use-context prod-cluster本番クラスターのコンテキストに切り替えkubectl config get-contexts利用可能な全コンテキストを一覧表示kubectl config get-contexts -o nameコンテキスト名のみを一覧表示kubectl config current-context現在アクティブなコンテキストを表示kubectl logs -f my-podPodのログをストリーミングkubectl logs -f my-pod --tail=50最後の50行からストリーミングkubectl logs -f -l app=my-appラベルに一致するPodのログをストリーミングkubectl get events現在のNamespaceのイベントを表示kubectl get events --sort-by=.lastTimestamp時刻でソートしてイベントを表示kubectl get events --field-selector involvedObject.name=my-pod特定Podに関するイベントを表示kubectl top nodeノードのCPU・メモリ使用状況を表示kubectl top node --sort-by=memoryメモリ使用量でソートしてノードを表示kubectl debug -it my-pod --image=busyboxEphemeralコンテナでデバッグkubectl debug node/my-node -it --image=ubuntuノードをデバッグkubectl debug my-pod --copy-to=debug-pod --image=busyboxデバッグ用のPodのコピーを作成kubectl run test --image=busybox --rm -it --restart=Never -- sh一時的なデバッグPodを起動kubectl run nginx --image=nginxnginxのPodを起動kubectl patch deployment my-deploy -p '{"spec":{"replicas":3}}'デプロイメントのレプリカ数をパッチkubectl patch node my-node -p '{"spec":{"unschedulable":true}}'ノードをスケジュール不可にパッチkubectl label pod my-pod env=productionPodにラベルを追加kubectl label pod my-pod env-Podからラベルを削除kubectl label pods -l app=my-app version=v2一致するPod全てにラベルを付与kubectl annotate pod my-pod description='My app pod'Podにアノテーションを追加kubectl annotate deployment my-deploy description-デプロイメントからアノテーションを削除kubectl taint node my-node key=value:NoScheduleスケジュールを防ぐテイントをノードに付与kubectl taint node my-node key:NoSchedule-ノードからテイントを削除kubectl drain my-node --ignore-daemonsetsメンテナンスのためにノードをドレインkubectl drain my-node --ignore-daemonsets --delete-emptydir-dataemptyDir Podを含めてドレインkubectl cordon my-node新しいPodのスケジューリングを防止kubectl uncordon my-nodeノードのスケジューリングを再開kubectl apply --dry-run=client -f deployment.yaml変更をプレビュー(クライアントサイド)kubectl apply --dry-run=server -f deployment.yaml変更をプレビュー(サーバーサイド)kubectl diff -f deployment.yaml現在の状態との差分を表示kubectlコマンド一覧は、Kubernetes CLIでよく使われるコマンドをまとめたチートシートです。基本的なリソース操作からPodのデバッグ、デプロイメントのロールアウト、高度なノード管理まで、クラスター管理に必要なコマンドを網羅しています。各コマンドには説明、よく使うオプション、ワンクリックでコピーできる実用的な使用例が含まれています。
kubectl createはリソースを新規作成し、既に存在する場合はエラーになります。kubectl applyは宣言的にリソースを作成または更新し、べき等性があります。YAMLファイルでリソースを管理する場合はapplyが推奨されます。
kubectl config use-contextでコンテキストを切り替えます。kubectl config get-contextsで利用可能なコンテキストを一覧表示できます。各コンテキストは通常、異なるクラスターやNamespaceに対応しています。
kubectl deleteは特定のリソースを即座に削除します。kubectl drainはノード上の全Podを丁寧に退避させ(PodDisruptionBudgetを尊重)、スケジュール不可にします。メンテナンス前のノード準備に使います。
kubectl logs my-pod --previousで以前のコンテナインスタンスのログを確認できます。kubectl describe pod my-podでイベントや状態を確認します。kubectl debugでEphemeralコンテナを作成してより詳しく調査できます。
kubectl execはコンテナ内で新しいプロセスを実行します(例:シェルの起動)。kubectl attachはコンテナの既存のメインプロセスに接続します。標準入力を受け付けるプログラムを操作したい場合に便利です。