4.4. External DNS Operator の設定パラメーター


External DNS Operator の動作をカスタマイズするには、ExternalDNS カスタムリソース (CR) で使用可能なパラメーターを設定します。パラメーターを設定することで、Operator が外部 DNS プロバイダーとサービスやルートを同期する方法を制御できます。

4.4.1. External DNS Operator の設定パラメーター

External DNS Operator の動作をカスタマイズするには、ExternalDNS カスタムリソース (CR) で使用可能なパラメーターを設定します。パラメーターを設定することで、Operator が外部 DNS プロバイダーとサービスやルートを同期する方法を制御できます。

Expand
パラメーター説明

spec

クラウドプロバイダーのタイプを有効にします。

spec:
  provider:
    type: AWS
    aws:
      credentials:
        name: aws-access-key
  • provider.type:AWS、Google Cloud、Azure、Infoblox などの利用可能なオプションを指定します。
  • provider.aws.credentials.name: クラウドプロバイダーのシークレット名を指定します。

zones

ドメインごとに DNS ゾーンを指定できます。ゾーンを指定しない場合、ExternalDNS リソースはクラウドプロバイダーアカウントに存在するすべてのゾーンを検出します。

zones:
- "<zone_id>"
  • <zone_id>: DNS ゾーンの名前を指定します。

domains

ドメインごとに AWS ゾーンを指定できます。ドメインを指定しない場合、ExternalDNS リソースはクラウドプロバイダーアカウントに存在するすべてのゾーンを検出します。

domains:
- filterType: Include
  matchType: Exact
  name: "myzonedomain1.com"
- filterType: Include
  matchType: Pattern
  pattern: ".*\\.otherzonedomain\\.com"
  • domains.filterType: ExternalDNS リソースにドメイン名が含まれることを指定します。
  • domains.matchType: ドメインのマッチングが正規表現によるマッチングではなく、完全一致である必要があることを指定します。
  • domains.name: ドメイン名を指定します。
  • filterType.matchType: ExternalDNS リソースの regex-domain-filter フラグを指定します。正規表現フィルターを使用して、使用できるドメインに限定します。
  • filterType.pattern: ExternalDNS リソースが対象ゾーンのドメインをフィルタリングするために使用する正規表現パターンを指定します。

source

DNS レコードのソース (Service または Route) を指定できます。

source:
  type: Service
  service:
    serviceType:
      - LoadBalancer
      - ClusterIP
  labelFilter:
    matchLabels:
      external-dns.mydomain.org/publish: "yes"
  hostnameAnnotation: "Allow"
  fqdnTemplate:
  - "{{.Name}}.myzonedomain.com"
  • source:DNS レコードのソースに関する設定を指定します。
  • source.type: ExternalDNS CR が DNS レコードを作成するためのソースとして Service タイプを使用することを指定します。
  • service.serviceType: ExternalDNS リソースの service-type-filter フラグを指定します。serviceType には次のフィールドが含まれます: デフォルト: LoadBalancer ; 期待値: ClusterIP ; NodePort ; LoadBalancer ; ExternalName
  • service.labelFilter: コントローラーがラベルフィルターに一致するリソースのみを考慮することを指定します。
  • hostnameAnnotation: hostnameAnnotation のデフォルト値が Ignore で あることを指定します。これにより ExternalDNS はfqdnTemplates フィールドで指定されたテンプレートを使用して DNS レコードを生成するように指示されます。値が Allow の場合には、external-dns.alpha.kubernetes.io/hostname アノテーションで指定された値をもとに DNS レコードが生成されます。
  • fqdnTemplate: External DNS Operator がホスト名を定義していないソースから DNS 名を生成するために文字列を使用するか、偽のソースとペアになっている場合にホスト名のサフィックスを追加することを指定します。
source:
  type: OpenShiftRoute
  openshiftRouteOptions:
    routerName: default
    labelFilter:
      matchLabels:
        external-dns.mydomain.org/publish: "yes"
  • source.type:DNS レコードの作成を指定します。
  • openshiftRouteOptions.routerName: ソースタイプが OpenShiftRoute かどうかを指定します。その場合は、Ingress コントローラー名を渡すことができます。ExternalDNS リソースは、CNAME レコードのターゲットとして Ingress Controller の正規名を使用します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る