Posted at

Kubernetes でプライベートリポジトリのコンテナイメージを使うには

More than 1 year has passed since last update.


Kubernetes でプライベートリポジトリのコンテナイメージを使うには

docker-registry タイプの secret を作成し、pods.spec.imagePullSecrets にその secret を指定すればOK。


例えば、 GitLab.com の場合であれば次のコマンドで secret を作成する。( reggitlab はリソース名を示す任意の文字列を指定して良い)

# 変数は適宜設定する

$ kubectl create secret docker-registry reggitlab \
--docker-server=https://registry.gitlab.com/ \
--docker-username=$GLUSER \
--docker-password=$GLPASSWD \
--docker-email=$GLEMAIL

これを利用する Pod の manifest からは pods.spec.imagePullSecrets に secret 名を指定して参照する。例えば、次のようにする。

spec:

containers:
- image: registry.gitlab.com/example/nginx:latest
name: nginx
ports:
- containerPort: 8080
imagePullSecrets:
- name: reggitlab


参考

Pulling an Image from a Private Registry