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 レコードのライフサイクルが自動的に管理されず、代わりにクラスター管理者の責任になります。
注記Google Cloud 環境では、カスタム DNS ソリューションを使用できます。DNS レコードに含めるべき内容については、
DNS レコードCR を参照してください。詳細は、ユーザー管理型 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に設定されていることを確認します。