kubectlのコマンドを忘れがちなので一瞬で思い出せるように記事を書きました。
リファレンス
-
kubectl -h
kubectlの説明 -
kubectl <command> --help
コマンドについての情報 -
kubectl options
kubectl コマンドに付随するオプション全て -
kubectl version
バージョン確認
コンフィグの管理
-
kubectl config
kubeconfig(~/.kube/config)の設定を変更-
kubectl config set-cluster
クラスタの定義 -
kubectl config set-credentials
認証情報の定義 -
kubectl config set-context
Context(クラスタ/認証情報/Namespace) -
kubectl config use-context
Contextの切り替え -
kubectl config current-context
現在のContextの表示
-
マニフェストとリソースの管理
-
kubectl create -f hoge.yaml
リソースの作成 (リソースが存在する場合はエラー) -
kubectl get <リソース種類>
リソースの取得-
kubectl get <リソース種類> -o yaml/json/wide
yaml/json/wide形式で出力 -
kubectl get <リソース種類> -l label1=val1 label2
label1を持つリソースとlabel2ラベルを表示 -
kubectl get <リソース種類> -L label1
リソースとlabel1ラベルを表示 -
kubectl get all
すべてのリソースを取得
-
-
kubectl delete -f resource.yaml
リソースの削除 (リソースが存在しない場合はエラー)-
kubectl delete -f --grace-period 0 --force
リソースの即時強制削除
-
-
kubectl apply -f resource.yaml
リソースの変更の適用 (推奨) (リソースが存在しない場合は新規生成)-
kubectl apply -f ./ -R
指定したディレクトリ以下のファイルを再帰的に適用 -
kubectl apply -f resource.yaml --prune
マニフェストから削除されたリソースを検知し、自動的に削除
-
-
kubectl edit <リソース種類> <リソース名>
エディタによる編集 -
kubectl describe <リソース種類> <リソース名>
リソースの詳細情報を取得 -
kubectl set image <リソース種類> <リソース名> <変更内容>
リソースの一部情報の更新 kubectl top <リソース種類> <リソース名>
-
kubectl exec
Pod上で特定のコマンドの実行-
kubectl exec -it <Pod名> -- /bin/sh
擬似端末を生成し(-t)、入力をパススルー(-i)しながら/bin/shの起動
-
-
kubectl logs <Pod名>
Podのログ確認-
kubectl logs -f
followしながらログ取得
-
-
kubectl copy <Pod名>:/<ファイル> .
コンテナ、ローカルマシン間でファイルコピー -
kubectl port forward <Pod名> 8888:80
localhost:8888宛の通信をPodの80/TCPポートに転送