すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:セルフホスト型イメージリポジトリを使用して ACS ポッドを作成する

最終更新日:Mar 25, 2025

セルフマネージドイメージリポジトリからイメージをプルして 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 サーバーによって記録されている場合、イメージのプルに失敗します。

ACS クラスタ内のポッドのカスタム DNS サーバーを構成する

構成

イメージリポジトリからイメージをプルするときに、セルフマネージドイメージリポジトリが HTTP プロトコルまたは自己署名証明書を使用している場合は、イメージのプルの失敗を防ぐために、ポッドのアノテーションを構成する必要があります。

アノテーション

タイプ

説明

registry.alibabacloud.com/plain-http-registry

String

"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"

HTTP プロトコルを使用するセルフマネージドイメージリポジトリからイメージをプルする場合は、このパラメーターを構成する必要があります。 ACS は HTTP プロトコルを使用してイメージをプルし、異なるプロトコルが原因でイメージのプルが失敗するのを防ぎます。

registry.alibabacloud.com/insecure-registry

String

"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"

自己署名証明書を使用するセルフマネージドイメージリポジトリからイメージをプルする場合は、証明書の認証をスキップするために、このパラメーターを構成する必要があります。 これにより、証明書の認証の失敗が原因でイメージのプルが失敗するのを防ぎます。

説明

複数のコンテナイメージを異なるイメージリポジトリからプルするには、複数のイメージリポジトリアドレスを指定し、コンマ (,) で区切ります。 例: harbor***.pre.com,192.168.XX.XX