Citrix ADC IngressコントローラーによるワイルドカードDNSドメインの構成
ワイルドカードDNSドメインは、存在しないドメインやサブドメインのリクエストを処理するために使用されます。DNS ゾーンでは、ワイルドカードドメインを使用して、ドメインごとに個別のリソースレコード (RR) を作成する代わりに、存在しないすべてのドメインまたはサブドメインのクエリを特定のサーバーにリダイレクトできます。ワイルドカード DNS ドメインの最も一般的な用途は、インターネットから他のメールシステムにメールを転送するために使用できるゾーンを作成することです。
ワイルドカードDNSドメインの詳細については、 Citrix ADCのドキュメントを参照してください。
これで、Citrix Ingressコントローラーを使用してCitrix ADCでワイルドカードDNSドメインを構成できます。カスタムリソース定義 (CRD) は、クラウドネイティブ展開でポリシーを設定する主な方法です。Citrix が提供するワイルドカードDNS CRDを使用して、Citrix Ingressコントローラーを使用してCitrix ADCにワイルドカードDNSドメインを設定できます。ワイルドカードDNS CRDにより、Citrix IngressコントローラーとCitrix ADC間の通信が可能になり、ワイルドカードドメインをサポートします。
使用上のガイドラインと制限事項
- 完全修飾ドメイン名 (FQDN) の場合、DNS レコードを追加する方法は複数あります。Ingress リソースの Citrix Ingress Controllerの
NS_CONFIG_DNS_REC
変数を有効にするか、ワイルドカード DNS CRD を使用できます。ただし、同じドメインへの複数の IP マッピングを避けるため、CRD または入力のいずれかを使用して設定する必要があります。 - ワイルドカード DNS 設定にはワイルドカード DNS CRD を使用することを推奨します。
- Citrix Ingress Controllerで
NS_CONFIG_DNS_REC
が有効になっている場合、DNSアドレスレコードにワイルドカードDNSエントリをイングレスで構成することはできません。
ワイルドカード DNS CRD 定義
ワイルドカード DNS CRD は、Citrix 入力コントローラー GitHub リポジトリの wildcarddnsentry.yamlで入手できます。 ワイルドカードDNS CRDは、Citrix ADCでワイルドカードDNSエントリを構成するために必要なさまざまなオプションの属性を提供します 。
ワイルドカード DNS CRD で提供される属性は次のとおりです。
属性 | 説明 |
---|---|
domain |
ゾーンに設定されているワイルドカードドメイン名を指定します。 |
dnsaddrec |
ワイルドカードドメインのIPv4アドレスを含むDNSアドレスレコードを指定します。 |
dnsaaaarec |
ワイルドカードドメインの IPV6 アドレスで DNS AAAA レコードを指定します。 |
soarec |
SOA レコード設定の詳細を指定します。 |
nsrec |
ネームサーバー構成の詳細を指定します。 |
ワイルドカード DNS CRD の導入
ワイルドカード DNS CRD をデプロイするには、以下を実行します。
-
ワイルドカード DNS CRD をダウンロードします。
-
次のコマンドを使用してワイルドカード DNS CD をデプロイします。
kubectl create -f wildcarddnsentry.yaml
ワイルドカード DNS 設定ポリシーの作成方法
Citrixが提供するワイルドカードDNS CRDをKubernetesクラスターに展開したら、ワイルドカードDNS関連の構成をyaml
ファイルで定義できます。.yaml
ファイルの kind フィールドとspec
セクションでwildcarddnsentry
を使用し、ポリシー設定の要件に基づいてワイルドカード DNS CRD 属性を追加します。
以下は、Citrix ADC上のSOAレコード、NSレコード、DNSゾーン、アドレスとAAAAレコードを構成するYAMLファイル定義の例です。
apiVersion:
citrix.com/v1
kind: wildcarddnsentry
metadata:
name: sample-config
spec:
zone:
domain: configexample
dnsaddrec:
domain-ip: 1.1.1.1
ttl: 3600
dnsaaaarec:
domain-ip: '2001::.1'
ttl: 3600
soarec:
origin-server: n2.configexample.com
contact: admin.configexample.com
serial: 100
refresh: 3600
retry: 3
expire: 3600
nsrec:
nameserver: n1.configexample.com
ttl: 3600
<!--NeedCopy-->
DNS 設定を定義したら、 次のコマンドを使用してwildcarddns-example.yaml
ファイルをデプロイします。
kubectl create -f wildcarddns-example.yaml