3.2. DNS サービスのデプロイ


Red Hat OpenStack Services on OpenShift (RHOSO) DNS サービス (designate) をデプロイするには、以下を実行します。

  1. OpenStackControlPlane カスタムリソース (CR) ファイルで、DNS サービスを有効にし、必要な designate サービス設定とカスタマイズを追加します。
  2. DNS サービスに必要な値で OpenStackControlPlane CR を更新します。

前提条件

  • ワークステーションに oc コマンドラインツールがインストール済みである。
  • cluster-admin 権限を持つユーザーとして、RHOSO コントロールプレーンにアクセスできるワークステーションにログオン済みである。

手順

  1. ワークステーションで OpenStackControlPlane CR ファイルを開き、以下を追加して DNS サービス (designate) を有効にします。

    designate:
      apiOverride:
        route: {}
      enabled: true
      template:
        nsRecords:
          -hostname: ns1.example.org.
           priority: 1
          -hostname: ns2.example.org.
           priority: 2
    ...
    Copy to Clipboard Toggle word wrap
  2. OpenStackControlPlane CR ファイルで、次の designate サービス設定も追加します。

    • designateAPI:

      ...
          designateAPI:
            networkAttachments:
            - internalapi
            override:
              service:
                internal:
                  metadata:
                    annotations:
                      metallb.universe.tf/address-pool: internalapi
                      metallb.universe.tf/allow-shared-ip: internalapi
                      metallb.universe.tf/loadBalancerIPs: 172.17.0.80
                  spec:
                    type: LoadBalancer
      ...
      Copy to Clipboard Toggle word wrap
      注記

      designateAPI のアノテーション値が、現在の OpenstackControlPlane CR 内の他の API サービスに使用されているアノテーション値と一致していることを確認します。

    • designateBackendbind9:

      ...
          designateBackendbind9:
            controlNetworkName: designate
            networkAttachments:
              - designate
            override:
              services:
                - metadata:
                    annotations:
                      metallb.universe.tf/address-pool: designateext
                      metallb.universe.tf/allow-shared-ip: designateext
                      metallb.universe.tf/loadBalancerIPs: 172.34.0.80
                  spec:
                    type: LoadBalancer
                - metadata:
                    annotations:
                      metallb.universe.tf/address-pool: designateext
                      metallb.universe.tf/allow-shared-ip: designateext
                      metallb.universe.tf/loadBalancerIPs: 172.34.0.81
                  spec:
                    type: LoadBalancer
                - metadata:
                    annotations:
                      metallb.universe.tf/address-pool: designateext
                      metallb.universe.tf/allow-shared-ip: designateext
                      metallb.universe.tf/loadBalancerIPs: 172.34.0.82
                  spec:
                    type: LoadBalancer
            replicas: 3
            resources: {}
            serviceUser: designate
            storageClass: local-storage
            storageRequest: 10G
      ...
      Copy to Clipboard Toggle word wrap
      注記

      レプリカごとにサービスオーバーライドを使用します。上記の例では、レプリカ数は 3 であるため、3 つのサービスが定義されています。BIND 9 サーバーにアクセスするために追加の専用ネットワークが使用される場合、実稼働システムではネットワークアタッチメントが異なる場合があります。

    • designateCentral:

      ...
          designateCentral:
            replicas: 3
      ...
      Copy to Clipboard Toggle word wrap
    • designateMdns:

      ...
          designateMdns:
            networkAttachments:
              - designate
            replicas: 3
      ...
      Copy to Clipboard Toggle word wrap
    • designateProducer:

      ...
          designateProducer:
            replicas: 3
      ...
      Copy to Clipboard Toggle word wrap
    • designateUnbound:

      ...
          designateUnbound:
            defaultConfigOverwrite:
              01-unbound.conf: |
                server:
                  verbosity: 2
                  access-control: 172.28.0.0/24 allow
                  access-control: 100.64.0.0/10 allow
                  module-config: "iterator"
              forwarders.conf: |
                forward-zone:
                  name: "."
                  forward-addr: 172.11.5.155
                  forward-addr: 172.12.5.155
            networkAttachments:
              - designate
            override:
              services:
                - metadata:
                    annotations:
                      metallb.universe.tf/address-pool: designateext
                      metallb.universe.tf/allow-shared-ip: designateext
                      metallb.universe.tf/loadBalancerIPs: 172.34.0.90
                  spec:
                    type: LoadBalancer
                - metadata:
                    annotations:
                      metallb.universe.tf/address-pool: designateext
                      metallb.universe.tf/allow-shared-ip: designateext
                      metallb.universe.tf/loadBalancerIPs: 172.34.0.91
                  spec:
                    type: LoadBalancer
                - metadata:
                    annotations:
                      metallb.universe.tf/address-pool: designateext
                      metallb.universe.tf/allow-shared-ip: designateext
                      metallb.universe.tf/loadBalancerIPs: 172.34.0.93
                  spec:
                    type: LoadBalancer
            replicas: 3    
      1
      
            resources: {}
            stubZones:     
      2
      
              - name: example.org
              - name: anotherexample.org
      ...
      Copy to Clipboard Toggle word wrap
      1
      レプリカごとにサービスオーバーライドを使用します。上記の例では、レプリカ数は 3 であるため、3 つのサービスが定義されています。Unbound サーバーにアクセスするために追加の専用ネットワークが使用される場合、実稼働システムではネットワークアタッチメントが異なる場合があります。
      2
      (オプション) OpenStack Operator が自動的に stub ゾーンレコードを作成する stubZones セクションとゾーン名を追加します。
    • designateWorker:

      ...
          designateWorker:
            databaseAccount: designate
            networkAttachments:
              - designate
            replicas: 3
      ...
      Copy to Clipboard Toggle word wrap
  3. オプション: Networking サービス (neutron) と DNS サービス間の統合を設定する場合は、次の手順を実行します。

    詳細は、統合 DNS サービスの使用 を参照してください。

    1. neutron のサービス定義を見つけて、customServiceConfig セクションを追加します。

        neutron:
          customServiceConfig: |
      Copy to Clipboard Toggle word wrap
    2. customServiceConfig セクションで、サイトのドメインを追加する [DEFAULT] サブセクションを追加します。

      この例では、DNS ドメインは example.org. です。この値を、実際のサイトに適したドメインに変更します。ほとんどの場合、external_dns_driver の値は designate です。

        neutron:
          customServiceConfig: |
            [DEFAULT]
            dns_domain = example.org.
            external_dns_driver = designate
      Copy to Clipboard Toggle word wrap
    3. [ml2] サブセクションを追加し、neutron 拡張ドライバーのリストに subnet_dns_publish_fixed_ip を含めます。

        neutron:
          customServiceConfig: |
            [DEFAULT]
            dns_domain = example.org.
            external_dns_driver = designate
            [ml2]
            extension_drivers=subnet_dns_publish_fixed_ip
      Copy to Clipboard Toggle word wrap
    4. [designate] サブセクションを customServiceConfig セクションに追加します。

        neutron:
          customServiceConfig: |
            [DEFAULT]
            dns_domain = example.org.
            external_dns_driver = designate
            [ml2]
            extension_drivers=subnet_dns_publish_fixed_ip
            [designate]
            url = https://designate-internal.openstack.svc:9001/v2
            auth_type = password
            auth_url = {{ .KeystoneInternalURL }}
            username = {{ .ServiceUser }}
            password = {{ .ServicePassword }}
            project_name = service
            project_domain_name = Default
            user_domain_name = Default
            allow_reverse_dns_lookup = true
            ipv4_ptr_zone_prefix_size = 24
            ipv6_ptr_zone_prefix_size = 116
            ptr_zone_email = admin@example.org
      Copy to Clipboard Toggle word wrap
      • url: 現在のバージョン v2 の OpenStack DNS サービスのパブリックエンドポイント URL。
      • auth_type: 使用する認可プラグイン。password または token のいずれか。
      • auth_url: Identity サービス (keystone) 認可エンドポイント URL。ネットワークサービスは、このエンドポイントを使用して、逆引き参照ゾーンを作成および更新するユーザーとして認証します。
      • username: Networking サービスが逆引き参照ゾーンの作成と更新に使用するユーザー名。
      • password: Networking サービスが逆引き参照ゾーンの作成と更新に使用するユーザーのパスワード。
      • project_name: Networking サービスが逆引き参照ゾーンの作成と更新に使用するプロジェクトの名前。
      • project_domain_name: Networking サービスが逆引き参照ゾーンの作成と更新に使用するプロジェクトのドメイン名。
      • user_domain_name: Networking サービスが逆引き参照ゾーンの作成と更新に使用するユーザーのドメイン名。
      • allow_reverse_dns_lookup: true の場合、逆引き参照レコードの作成が有効になります。
      • ipv4_ptr_zone_prefix_size: IPv4 逆引き参照ゾーンの接頭辞のビットサイズ。
      • ipv6_ptr_zone_prefix_size: IPv6 逆引き参照ゾーンの接頭辞のビット単位のサイズ。
      • ptr_zone_email: 新しい逆引き参照ゾーンを作成するときに DNS サービスが使用するメールアドレス。デフォルトは admin@<dns_domain> です。ここで、<dns_domain> は、そのゾーンで作成される最初のレコードのドメインです。
  4. OpenStackControlPlane カスタムリソースを、DNS サービスに必要な値で更新します。

    $ oc apply -f openstack_control_plane.yaml -n openstack
    Copy to Clipboard Toggle word wrap

検証

  1. RHOCP が DNS サービスリソースを作成するまで待ちます。次のコマンドを実行して、ステータスを確認します。

    $ oc wait designate designate --for condition=Ready
    Copy to Clipboard Toggle word wrap
    出力例
    designate.designate.openstack.org/designate condition met
    Copy to Clipboard Toggle word wrap
  2. DNS サービス Pod が実行されていることを確認します。

    $ oc -n openstack get pods | grep -iE "(designate)"
    Copy to Clipboard Toggle word wrap
    出力例

    以下のような出力が表示されるはずです。

    designate-api-7d8447bc98-cfl22           1/1     Running     0          10s
    designate-backendbind9-0                 1/1     Running     0          15s
    designate-backendbind9-1                 1/1     Running     0          20s
    designate-backendbind9-2                 1/1     Running     0          22s
    designate-central-86c558fb98-82bn2       1/1     Running     0          12s
    designate-central-86c558fb98-0cxz1       1/1     Running     0          19s
    designate-central-86c558fb98-vkj72       1/1     Running     0          12s
    designate-mdns-0                         1/1     Running     0          13s
    designate-mdns-1                         1/1     Running     0          11s
    designate-mdns-2                         1/1     Running     0          15s
    designate-producer-7f69498d75-6wlr8      1/1     Running     0          12s
    designate-producer-7f69498d75-3sd55      1/1     Running     0          10s
    designate-producer-7f69498d75-tvmr9      1/1     Running     0          12s
    designate-redis-redis-0                  2/2     Running     0          11d
    designate-unbound-0                      1/1     Running     0          18d
    designate-unbound-1                      1/1     Running     0          11d
    designate-unbound-2                      1/1     Running     0          16d
    designate-worker-85596d67b6-7sbgw        1/1     Running     0          14d
    designate-worker-85596d67b6-xkg49        1/1     Running     0          12d
    designate-worker-85596d67b6-5ckje        1/1     Running     0          10d
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2025 Red Hat