VPC ネットワークの外部から、イメージを内部レジストリーにプッシュできないのはなぜですか?
インフラストラクチャー・プロバイダーおよび該当するバージョン:
- VPC
- Red Hat OpenShift 4.4 以降
コンテナー・イメージを内部の Red Hat OpenShift コンテナー・イメージ・レジストリーにプッシュしようとすると、以下のようなメッセージが表示され、プッシュが失敗します。
dial tcp 161.26.0.28:443: connect: network is unreachable
VPC インフラストラクチャー・プロバイダーで実行される Red Hat OpenShift on IBM Cloud クラスターは、クラスターの内部コンテナー・レジストリーのデータを保管するために IBM Cloud Object Storage を使用します。 デフォルトでは、Object Storage のエンドポイントには、VPC インスタンスの内部からしかアクセスできません。 したがって、ローカル・マシンや CI/CD パイプラインなどの外部プロセスが VPC の外部からコンテナー・イメージを内部レジストリーにプッシュしようとすると、イメージのプッシュは失敗します。
内部レジストリー・ポッドを使用してコンテナー・イメージのトラフィックを直接 Object Storage エンドポイントに中継するように、内部イメージ・レジストリーのオペレーターのカスタム・リソースを変更してください。
以下のコマンドを実行して configs.imageregistry.operator.openshift.io/cluster リソースにパッチを適用し、disableRedirect プロパティーを true に設定します。
oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"disableRedirect":true}}' --type=merge