2017-09-26 5 views
0

私は私のドッカー画像をプッシュし、それらの画像を使って配置を作成するためにプライベートレジストリを作成したいと思います。 私は、KOPSを使用して、AWSに1つのマスタ1つのスレーブを持つkubernetesクラスタを作成しました。 私はこのリンクに続いて:https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/registry レジストリサービスを作成し、それをスレーブノードに公開します。kubernetesのプライベートレジストリから画像を引き出す際の問題

次に、私はドッカーのイメージを構築し、このリンクのlocalhost:5000 /としてレジストリにプッシュします。私はこの画像を使用してデプロイメントを作成しようとすると

は今、私はエラーを取得する:

イメージは「localhost:5000/postgresの-SDL」:プルに失敗しました。引きながらコード= 2 DESC =エラー:RPCエラーを画像:http://localhost:5000/v1/repositories/postgres-sdl/imagesを取得:5000::のgetsockopt:接続がドッキングウィンドウの画像Iタグを作成した後

を拒否し、この名前でイメージをプッシュ:localhostを:5000/postgresの-SDL

マイ展開TCP [:: 1]をダイヤルyamlは次のようになります。

 image: localhost:5000/postgres-sdl 
+0

レジストリが動作していないようです。サービスとレジストリプロキシポッドを作成しましたか? – user3151902

+0

はい、kube-registry podとkube-registry-proxy podが実行されており、kube-registryサービスが実行中です。 –

+0

エラーメッセージには、 'postgres-sdl'イメージを検索しましたが、あなたは' management'イメージをアップロードしたと書いています。イメージの不一致はありますか? – adebasi

答えて

-1

kubernetesでローカルレジストリを使用することをお勧めします。 確かに、ミニファイルを使ってテストするときと同じconfigファイルにlocalhost:5000というアドレスがありますが、実際は危険です。

クラスタが死んだ場合、すべての画像が失われます。

アマゾンドッカーのレジストリを使用するだけで安全です。これを行うには適切な方法です。

0

問題は、ホストポートがCNIで正しく動作していないことです(this issue参照)。

ポートマッププラグインをインストールし、.conflistファイルを作成する必要があります。これは、あなたのkubernetesクラスターのセットアップ方法によって異なる場合があります。私のネットワークの設定は、次のようになりますので、私は運河を使用してい/opt/cni/bin

    • 設定し、ポートマッププラグイン(containernetworking/plugins v0.6.0を経由してダウンロード):

      は、私は、次の手順を使用

      { 
      "name": "canal", 
      "cniVersion": "0.3.0", 
      "plugins": [{ 
           "type": "flannel", 
           "delegate": { 
            "type": "calico", 
            "etcd_endpoints": "https://10.128.0.3:2379", 
            "etcd_key_file": "/opt/calicoctl/etcd-key", 
            "etcd_cert_file": "/opt/calicoctl/etcd-cert", 
            "etcd_ca_cert_file": "/opt/calicoctl/etcd-ca", 
            "log_level": "info", 
            "policy": { 
             "type": "k8s" 
            }, 
            "kubernetes": { 
             "kubeconfig": "/root/cdk/kubeconfig" 
            } 
           } 
          }, 
          { 
           "type": "portmap", 
           "capabilities": { 
            "portMappings": true 
           }, 
           "snat": true 
          } 
      ]} 
      

      ファイルの末尾が.conflistであることを確認してください。このファイルを/etc/cni/net.dに保存しました。この詳細については、Container Networking Interface Specification

    • プロキシポッドを再作成してください。

  • 関連する問題