1
1

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'

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1