Kubernatesクラスターをセットアップするためにkubeadm alphaバージョンを実行しています。 kubernatesから、nexusリポジトリでホストされているdockerイメージをプルしようとしています。ポッドを作成しようとすると、毎回「ImagePullBackOff」が提供されます。誰もこれで私を助けることができますか?
この詳細は https://github.com/kubernetes/kubernetes/issues/41536 にあります
ポッドの定義:
apiVersion: v1
kind: Pod
metadata:
name: test-pod
labels:
name: test
spec:
containers:
- image: 123.456.789.0:9595/test
name: test
ports:
- containerPort: 8443
imagePullSecrets:
- name: my-secret
シークレットを参照 Pod定義から作成したばかりである必要があります。
kubectl create secret docker-registry my-secret --docker-server=123.456.789.0 ...
でシークレットを作成する場合、サーバーはポッド定義の内容と完全に一致する必要があります-ポート番号を含むそれからsystemdのdockerコマンドラインとも一致する必要があります。
また、シークレットは、Podを作成している同じネームスペースに存在する必要がありますが、それは適切なようです。
Amazon ECRレジストリからコンテナーを起動しているときに同様のエラーを受け取りました。問題は、デプロイメントファイル内の正確な「イメージURI」の場所に言及しなかったことです。