0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ローカルのkubernetesからgcrのイメージを取得する

Posted at

json key file を認証情報として docker desktop の kubernetes で gcr から image を pull 出来るようにする。

json key file の作成

サービスアカウントの json key file は有効な認証情報なのでこちらを gcp console からダウンロードする。

Setting up OAuth 2.0

secretの作成

gcr から docker image を pull するとき、認証情報として json key file を使用することを secret名 gcr-json-key として kubernetes に教える。

kubectl create secret docker-registry gcr-json-key \
	--docker-server=<your-registry-server> \
	--docker-username=<your-name> \
	--docker-password=<your-pword> -\
	-docker-email=<your-email>

オプションは下記の通り:

  • <your-registry-server>:private docker registry のFQDN
  • <your-name>: docker username
  • <your-pword>: docker password
  • <your-email>: docker email

gcrの場合は下記のようになる

  • <your-registry-serverhttps://gcr.io
  • <your-name>: __json_key 固定値
  • <your-pword>: json key file を cat した文字列
  • <your-email>: サービスアカウントのメールアドレス

例:

kubectl --namespace=$NAMESPACE create secret docker-registry gcr-json-key \
	--docker-server=https://gcr.io \
	--docker-username=_json_key \
	--docker-password="$(cat $PATH_TO_JSON)" \
	--docker-email="$MAIL_ADDRESS" \

作成したsecretの確認

> kubectl get secret --namespace=$NAMESPACE
NAME                  TYPE                                  DATA   AGE
gcr-json-key          kubernetes.io/dockerconfigjson        1      19d

serviceaccountから認証用secretを参照

デフォルトのサービスアカウントに ImagePullSecret として secret に登録する。

kubectl --namespace=$NAMESPACE patch serviceaccount default -p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'

単一のpodからsecretを参照する

特定のpodだけ使用したい場合はyamlファイルにsecret参照を追加する

apiVersion: v1
kind: Pod
metadata:
  name: empty-debian
spec:
  containers:
  - name: empty-debian-container
    image: eu.gcr.io/lian-empty-project/empty-debian-container
  imagePullSecrets:
  - name: gcr-secret

Refference

Pull an Image from a Private Registry

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?