LoginSignup
1
0

More than 3 years have passed since last update.

Docker for macの環境でk8sにECRの認証情報を渡すのに苦戦した件

Posted at

概要

Dockerイメージを作成しAWS ECRにイメージを上げたが、K8Sでプルできなかった。
調べたらしっかり認証情報がわたっていなかった。

環境

  • mac Catalina
  • docker for mac
  • AWS Cli
    • これがしっかり使える前提です

解決手順

デスクトップ右上にあるDockerのマークをクリックしてPreferencesを開く。
そうすると「Include VM in Time Machine backups」というものがあるのでこれをクリックするとしたの、「Securely store Docker logins in macOS keychain」がアクティブになるのでクリックして無効化

その後、(vim -/.docker)を以下のように変更

config.json
"credsStore": "desktop" #これを削除

これで以下のようにコマンドを叩くとECRの認証情報が保存されてK8sでもとってこれる状態となる。

aws ecr get-login-password --region リージョン | docker login --username AWS --password-stdin ECRのエンドポイントのURL

その後この認証情報を持ったsecretを以下のコマンドで作れば、ECRからDockerイメージを持ってくることができるようになる。

kubectl create secret generic シークレットの名前 \
        --from-file=.dockerconfigjson=$HOME/.docker/config.json \
        --type=kubernetes.io/dockerconfigjson

参考資料

1
0
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
0