🌟
Kubectlチートシート
Kubectlチートシート
context関連
- 現在のcontext(contextはクラスター、ユーザー、namespaceの三つ組からクラスタへの接続方法を定めるため、これら全てが表示される)を確認する
kubectl config get-contexts
- 現在のcontext名のみを確認する
kubectl config current-context
- contextの切り替え
kubectl config use-context $CONTEXT_NAME
もしくは
kubectx $CONTEXT_NAME
- pod,service,replicaset,deployment全てを表示する(namespace絞り込みも可能)
それぞれ表示させるなら、最後の引数のallをdeployment,podなどと置き換える。
kubectl (-n $NAMESPACE) get all
- context作成(ユーザ名とクラスタを関連付ける)
kubectl config set-context $CONTEXT_NAME --user=$USER_NAME --cluster=$CLUSTER_NAME
- context削除
kubectl config delete-context $CONTEXT_NAME
クラスタ関連
- クラスタ作成
クラスタ作成には、GKEを用いたり、ツールを用いたりする方法がある。それぞれのドキュメント参照。 - クラスタ一覧
kubectl config get-clusters
- クラスタ削除
kubectl config delete-cluster $CLUSTER_NAME
ファイルの読み込み
kubectl apply -f $FILE_NAME
- 実行したkubectlのコマンドを記録する際には、--recordオプションを付ける
(Deploymentの際には付けるとよい・忘れても、コマンドの内容が保存されないだけで、ロールバック可否には影響しない)kubectl apply -f $FILE_NAME --record
- ヒストリーコマンドでリソースのリビジョンを確認する
kubectl rollout history $RESOURCE_KIND $RESOURCE_NAME
ロールバックの実行
- 記録されている、特定のリビジョン内容を確認する
kubectl rollout history $RESOURCE_KIND $RESOURCE_NAME --revision=$REVISION_NUM
- 直前の操作のリビジョンにロールバックする
kubectl rollout undo $RESOURCE_KIND $RESOURCE_NAME
pod関連
- podの情報一覧
kubectl get pod
- Pod内コンテナに入る(複数の場合は-cオプションでコンテナを指定)
kubectl exec -it $POD_NAME sh (-c $CONTAINER_NAME)
- Pod内コンテナの標準出力の表示
kubectl logs -f $POD_NAME (-c $CONTAINER_NAME)
- podの削除
kubectl delete pod $POD_NAME
マニフェストファイルに書かれているリソース全てを削除
kubectl delete -f $FILE_NAME
コンテナ
- コンテナに入ってシェル(bash)を取得する
kubectl exec -it $POD_NAME /bin/bash
- デバッグコンテナのデプロイ(bash)
一時的なPodを作成して、Service(後述)を確認する時に用いる
kubectl run -i --rm --tty debug --image=$CONTAINER_IMAGE --restart=Never --bash -il
ServiceAccount
- ServiceAccountの一覧表示
kubectl get serviceaccounts
- ServiceAccountの詳細を確認(yaml形式で表示)
kubectl get serviceaccount $SERVICE_ACCOUNT -o yaml
- ServiceAccountのsecretの一覧表示
kubectl get secret
- secretの中身を表示させる
kubectl describe $SECRET_NAME
- secretの中身をyaml形式で表示
kubectl get secret $SECRET_NAME -o yaml
認証情報
- トークンの設定
kubectl config set-credentials $SERVICE_ACCOUNT --toke=$TOKEN
- contextの設定(これではcontextは切り替わらない・切り替えは
kubectl use-context $CONTEXT
)
kubectl config set-context $CONTEXT_NAME --cluster=$CLUSTER_NAME --user=AUTHENTICATION_USERNAME
- 認証情報の確認
kubectl config view
Discussion