2.11. DNS 管理ポリシーについて
クラスター管理者として Ingress Controller を作成すると、Operator は DNS レコードを自動的に管理します。このアプローチには、必要な DNS ゾーンがクラスター DNS ゾーンと異なる場合、または DNS ゾーンがクラウドプロバイダーの外部でホストされている場合に、いくつかの制限があります。
以下に、マネージド DNS 管理ポリシーの重要な側面を詳述します。
- Ingress Controller の Managed DNS 管理ポリシーにより、クラウドプロバイダーのワイルドカード DNS レコードのライフサイクルが Operator によって自動的に管理されるようになります。これがデフォルトの動作です。
-
Ingress Controller を
ManagedからUnmanagedDNS 管理ポリシーに変更すると、Operator はクラウドでプロビジョニングされた以前のワイルドカード DNS レコードをクリーンアップしません。 -
Ingress Controller を
UnmanagedからManagedDNS 管理ポリシーに変更すると、Operator は、クラウドプロバイダーに DNS レコードが存在しない場合は作成を試み、DNS レコードがすでに存在する場合は更新を試みます。
以下に、管理対象外の DNS 管理ポリシーにおける重要な側面を詳述します。
- Ingress Controller の Unmanaged DNS 管理ポリシーにより、クラウドプロバイダーのワイルドカード DNS レコードのライフサイクルが自動的に管理されず、代わりにクラスター管理者の責任になります。
2.11.1. 手動 DNS 管理のための Ingress Controller の作成 リンクのコピーリンクがクリップボードにコピーされました!
クラスター管理者は、Unmanaged DNS 管理ポリシーを使用して、新しいカスタム Ingress Controller を作成できます。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
次の内容を含む、
sample-ingress.yamlという名前のIngressControllerカスタムリソース (CR) ファイルを作成します。apiVersion: operator.openshift.io/v1 kind: IngressController metadata: namespace: openshift-ingress-operator name: <name> spec: domain: <domain> endpointPublishingStrategy: type: LoadBalancerService loadBalancer: scope: External dnsManagementPolicy: Unmanagedここでは、以下のようになります。
metadata.name-
IngressControllerオブジェクトの名前で<name>を指定します。 仕様ドメイン-
前提として作成した DNS レコードをもとに
domainを指定します。 loadBalancer.scope-
scopeをExternalとして指定して、ロードバランサーを外部に公開します。loadBalancer.dnsManagementPolicy: Ingress Controller がロードバランサーに関連付けられたワイルドカード DNS レコードのライフサイクルを管理するかどうかを指定します。有効な値はManagedおよびUnmanagedです。デフォルト値はManagedです。
マニフェストを適用して
IngressControllerオブジェクトを作成します。$ oc apply -f sample-ingress.yaml次のコマンドを実行して、Ingress Controller が正しいポリシーで作成されたことを確認します。
$ oc get ingresscontroller <name> -n openshift-ingress-operator -o=jsonpath={.spec.endpointPublishingStrategy.loadBalancer}出力を検査し、
dnsManagementPolicyがUnmanagedに設定されていることを確認します。