私たちの製品の新しいリリースでは、サービスを利用できるように新しいテクノロジー (kubernetes) に移行したいと考えています。インフラで実行されているローカル kubernetes アプリケーションがあります。アプリケーションをドッカー化し、イメージを使用して kubernetes と統合してクラスターポッドを作成したいと考えていますが、顧客がパブリック/プライベートドッカーリポジトリ (レジストリ) を持ちたくないため、ドッカーレジストリで立ち往生しています。この画像をアップロードできる場所。(docker save と docker load) を試してみましたが、うまくいきませんでした (エラー: portal-66d9f557bb-dc6kq 0/1 ImagePullBackOff) このイメージにアクセスできるファイルシステムを持つことはまったく可能ですか?それは私たちの問題を解決します(プライベート/パブリックリポジトリ/レジストリはありません).
1 に答える
2
ある種の Docker レジストリーは、Kubernetes を実行するための要件にすぎません。有料の Docker Hub はプライベート イメージをサポートしています。Google と Amazon はどちらもレジストリ製品 (それぞれ GCR と ECR) をホストしています。サードパーティのレジストリがあります。または、公式のレジストリ イメージをローカルに展開することもできます。
docker save
任意の Kubernetes ポッド仕様で参照するすべてのプライベート イメージを、次にdocker load
すべての単一ノードで参照する代替パスがあります。これには明らかなスケールとメンテナンスの問題があります (誰かがイメージを更新するたびに、手動ですべてのノードに再デプロイする必要があります)。ただし、本当にこれを試す必要がある場合は、ポッドの仕様ImagePullPolicy: Never
でレジストリからの取得を回避するように指定されていることを確認してください。(ノードに何かが存在しない場合、ポッドは起動に失敗します。)
レジストリは、Docker レジストリ API を実装する「単なる」オープンソース (Go) HTTP REST サービスです (デプロイの話に役立つ場合)。
于 2018-08-09T13:24:19.077 に答える