ExternalDNSとの相互運用性

最終公開日 : Oct 02, 2026
Kubernetes環境では、LoadBalancerタイプのサービスを使用してデプロイメントを公開できます。また、NetScaler IPAM Controllerを使用してサービスにIPアドレスを割り当てることができます。NetScaler IPAM Controllerは、定義されたIPアドレスプールからサービスにIPアドレスを割り当てます。詳細については、IPAMコントローラーによって割り当てられたIPアドレスを持つLoadBalancerタイプのサービスを公開するを参照してください。
サービスはIPAMコントローラーによって割り当てられたIPアドレスを使用してアクセスできますが、サービスディスカバリのためには、DNSプロバイダーにIPアドレスを手動で登録する必要があります。サービスに割り当てられたIPアドレスが変更された場合、関連するDNSレコードを手動で更新する必要があり、プロセス全体が煩雑になります。そのような場合、ExternalDNSを使用して、DNSレコードを外部エントリポイントと同期させることができます。また、ExternalDNSを使用すると、DNSプロバイダーに依存しない方法で、Kubernetesリソースを介してDNSレコードを動的に制御できます。
ExternalDNS統合が機能するためには、external-dns.alpha.kubernetes.io/hostnameアノテーションにホスト名が含まれている必要があります。
注:
ExternalDNSが機能するためには、サービス仕様にアノテーションexternal-dns.alpha.kubernetes.io/hostnameを追加し、そのアノテーションを使用してサービスのホスト名を指定してください。
ExternalDNSと統合するには:
  1. InfobloxプロバイダーでExternalDNSをインストールします。
    注:
    この相互運用性ソリューションはInfobloxプロバイダーでテストされており、他のプロバイダーでも機能する可能性があります。
  2. ExternalDNS構成でドメイン名を指定します。
  3. LoadBalancerタイプのサービス仕様で、次のアノテーションを追加し、そのアノテーションを使用してサービスのホスト名を指定します。
    external-dns.alpha.kubernetes.io/hostname
  4. 次のコマンドを使用してサービスをデプロイします。
    kubectl create -f <service-name>.yml