web-dev-qa-db-ja.com

kubectlはプライベートリポジトリからイメージをプルできません

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

シークレットを参照 Pod定義から作成したばかりである必要があります。

kubectl create secret docker-registry my-secret --docker-server=123.456.789.0 ...でシークレットを作成する場合、サーバーはポッド定義の内容と完全に一致する必要があります-ポート番号を含むそれからsystemdのdockerコマンドラインとも一致する必要があります。

また、シークレットは、Podを作成している同じネームスペースに存在する必要がありますが、それは適切なようです。

10
Janos Lenart

Amazon ECRレジストリからコンテナーを起動しているときに同様のエラーを受け取りました。問題は、デプロイメントファイル内の正確な「イメージURI」の場所に言及しなかったことです。

0
user3627034