セルフマネージドイメージリポジトリからイメージをプルして Alibaba Cloud Container Compute Service (ACS) ワークロードを作成する場合、異なるプロトコル、証明書認証の失敗、セルフマネージド DNS サーバーの使用など、さまざまな要因によりイメージのプルが失敗する可能性があります。 このトピックでは、セルフマネージドイメージリポジトリが HTTP プロトコル、自己署名証明書、またはセルフマネージド DNS サーバーを使用している場合に、これを行う方法について説明します。
説明
セルフホスト型イメージリポジトリからイメージをプルするときに、ErrImagePull アラートイベントが発生し、イメージのプルに失敗したことが示される場合があります。 ACS ポッドとイメージリポジトリ間のネットワークが接続されていると仮定すると、考えられる原因とその解決策は次のとおりです。
シナリオ | 原因 | 解決策 |
セルフマネージドイメージリポジトリは HTTP プロトコルを使用しています。 | デフォルトでは、ACS は HTTPS 経由でイメージをプルします。 異なるプロトコルを使用すると、イメージのプルに失敗します。 | イメージリポジトリと対話するために HTTP プロトコルを使用するように ACS を構成します。 |
セルフマネージドイメージリポジトリは HTTPS プロトコルを使用していますが、自己署名証明書も使用しています。 | セルフマネージドイメージリポジトリは自己署名証明書を使用しています。 これにより、リポジトリからイメージをプルするときに証明書の認証に失敗します。 その結果、イメージをプルできません。 | 証明書の認証をスキップします。 |
セルフマネージドイメージリポジトリのドメイン名は、セルフマネージド DNS サーバーを使用しています。 | デフォルトでは、ACS は Alibaba Cloud DNS (100.100.2.136 および 100.100.2.138) を使用してイメージリポジトリを解決します。 イメージリポジトリのドメイン名が、作成した DNS サーバーによって記録されている場合、イメージのプルに失敗します。 |
構成
イメージリポジトリからイメージをプルするときに、セルフマネージドイメージリポジトリが HTTP プロトコルまたは自己署名証明書を使用している場合は、イメージのプルの失敗を防ぐために、ポッドのアノテーションを構成する必要があります。
アノテーション | タイプ | 例 | 説明 |
| String |
| HTTP プロトコルを使用するセルフマネージドイメージリポジトリからイメージをプルする場合は、このパラメーターを構成する必要があります。 ACS は HTTP プロトコルを使用してイメージをプルし、異なるプロトコルが原因でイメージのプルが失敗するのを防ぎます。 |
| String |
| 自己署名証明書を使用するセルフマネージドイメージリポジトリからイメージをプルする場合は、証明書の認証をスキップするために、このパラメーターを構成する必要があります。 これにより、証明書の認証の失敗が原因でイメージのプルが失敗するのを防ぎます。 |
複数のコンテナイメージを異なるイメージリポジトリからプルするには、複数のイメージリポジトリアドレスを指定し、コンマ (,) で区切ります。 例: harbor***.pre.com,192.168.XX.XX。