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