kubectlコマンド覚えられない問題
- Kubernetesを扱ううえで必要なkubectlコマンド、何回も叩いているのに毎回調べたりしていませんか?(しています)
- あちこちメモしたりしてるんですが覚えられないし、メモもいつもどこか行ってしまうので、ここでまとめてみます!
- 2024年7月の現時点では、AWS EKS + Kubernetes 1.29を主に利用した環境でのコマンドです
- とりあえずよく使うコマンドをざっと書き出してみます
- 後日カテゴリーごとに分けてまとめようかな・・・(いや、やらなそうだな・・・)
- 随時更新予定です
個人的よく使うコマンド集
-
Pod, Service, ReplicaSet, Deploymentをまとめて一覧表示
kubectl get po,svc,rs,deploy [-n namespace]
-
稼働中のPodがどのコンテナイメージを使って動いているかを確認する
-
すべてのNameSpace
kubectl get pods --all-namespaces -o jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.containers[*]}{.image}{", "}{end}{end}' | sort
-
Namaspaceで絞り込み
kubectl get pods [-n namespace] -o jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.containers[*]}{.image}{", "}{end}{end}' | sort
-
-
ローリングアップデート
kubectl rollout restart deployments/{deployment name} [-n namespace]
-
.envファイルからConfigMapを作成する
kubectl create configmap {ConfigMapName} [-n namespace] --from-env-file={.env FileName}
-
既存のConfigMapを.envファイルの内容で更新する
kubectl create configmap {ConfigMapName} [-n namespace] --from-env-file={.env FileName} --save-config --dry-run=client -o yaml | kubectl apply -f -
-
yamlファイルからsecretを作成
kubectl create secret generic {SecretName} -n namespace --from-file={Secret yaml FileName}
-
Deploymentで指定しているコンテナイメージを変更する
kubectl set image deployment/{DeploymentName} [-n namespace] {DeploymentName}={コンテナイメージリポジトリURL}:{タグ}
よく使うコマンド集(AWS EKS関連)
-
EKS上のクラスターのkubeconfigファイル生成/更新
aws eks update-kubeconfig --region ap-northeast-1 --name {ClusterName} --verbose
-
ECR上に、指定されたタグが付いているコンテナイメージが存在するかを確認(あったらそのタグ名、なければnull)
aws ecr list-images --repository-name {RepositoryName} --query "imageIds[?imageTag=='{探したいタグ}'].imageTag|[0]" | sed -e 's/"//g'