Rso's Jotter

日々の開発の知見のメモやその他雑記

Kubernetes for Macから ECRのイメージを取得する方法

Kubernetes for Mac (正確にはDocker for Mac上で動いているKubernetes) でテストするときには、ローカルでDockerイメージ作ってそれを使用することが多いのですが、 ローカルのkubeから直接ECRに登録されている Private Dockerイメージを読みたいことがあったので調べました。 ググったらすぐ出てくる方法なんですが、一応メモっておきます。

手順

前提として、 awscliやcredentialの設定はできてるとします。

ログインできるかの確認

$ $(aws ecr get-login --region ${AWS_REGION} --no-include-email)

まずはdocker loginが動くか確かめます。 AWS_REGISONは適宜指定します。東京の場合は ap-northeast-1 ですね。

次に docker-registryのsecretを作成します。

$ ecr_login="$(aws ecr get-login --no-include-email --region $AWS_REGION)"

$ kubectl create secret docker-registry ecr \
  --docker-username=`echo $ecr_login | awk '{print $4}'` \
  --docker-password=`echo $ecr_login | awk '{print $6}'` \
  --docker-server=`echo $ecr_login | awk '{print $7}'`

次にPrivate Registryのイメージを読み込むyamlに、以下のように imagePullSecrets を指定してやります。

gist.github.com

あとはこのyamlファイルを applyすればOKです.

参考

kubernetes.io

blog.omerh.me

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門