【Kubernetes】kubectl の便利コマンド
使わなくなると忘れそうなので、kubectlコマンドをメモ。
alias k=kubectl
実行済の想定です。
随時、追加します。
入門ならこの一冊😊
トークン取得
$ (k describe secret $(k get secrets | grep <サービスアカウント名> | cut -f1 -d ' ') | grep -E '^token' | cut -f2 -d':' | tr -d '\t')
ネームスペース切り替え
$ k config set-context $(k config current-context) --namespace=<ネームスペース> # namespace一覧 $ k config view | grep namespace
tls用secret作成
base64デコード時のオプションを--decode
とすると、macでも動きます。
$ k create secret tls <secret名> --key=xxx.key --cert=xxx.crt # 確認コマンド $ k get secret/<secret名> -o yaml # jqが使える場合、項目指定も $ k get secret/<secret名> -o json | jq -r '.data."<項目名>" | base64 --decode' # historyに出力させたくない場合 $ k get secret/<secret名> -o yaml > secret.yaml $ grep "^data:" -A <secretの件数> secret.yaml | awk -F '{print $2}' | base64 --decode
リソースを更新して再起動
# コンフィグマップの編集 $ k edit cm <ConfigMap名> # 変更を反映させる為、再起動 $ k rollout restart <deployment名>
ポートフォワードでデバッグ
以下のコマンドで対象Podの80番ポートがlocalhost:8080
でアクセス可能となる。
$ k port-forward <pod名> 8080:80