4.6. Azure での DNS レコードの作成


Microsoft Azure で DNS レコードを作成するには、External DNS Operator を使用します。この Operator を使用すると、クラスターサービスの外部名前解決を管理できます。

重要

Microsoft Entra Workload ID 対応クラスターまたは Microsoft Azure Government (MAG) リージョンで実行されるクラスターで External DNS Operator を使用することはサポートされていません。

4.6.1. Azure DNS ゾーンに DNS レコードを作成する

Azure のパブリック DNS ゾーンまたはプライベート DNS ゾーンに DNS レコードを作成するには、External DNS Operator を使用します。Operator は、クラスターの外部名前解決を管理します。

前提条件

  • 管理者権限を持っている。
  • admin ユーザーの場合、kube-system namespace にアクセスできる。

手順

  1. クラウドプロバイダークライアントを使用するために、次のコマンドを実行して kube-system namespace から認証情報を取得します。

    $ CLIENT_ID=$(oc get secrets azure-credentials  -n kube-system  --template={{.data.azure_client_id}} | base64 -d)
    $ CLIENT_SECRET=$(oc get secrets azure-credentials  -n kube-system  --template={{.data.azure_client_secret}} | base64 -d)
    $ RESOURCE_GROUP=$(oc get secrets azure-credentials  -n kube-system  --template={{.data.azure_resourcegroup}} | base64 -d)
    $ SUBSCRIPTION_ID=$(oc get secrets azure-credentials  -n kube-system  --template={{.data.azure_subscription_id}} | base64 -d)
    $ TENANT_ID=$(oc get secrets azure-credentials  -n kube-system  --template={{.data.azure_tenant_id}} | base64 -d)
  2. 次のコマンドを実行して、Azure にログインします。

    $ az login --service-principal -u "${CLIENT_ID}" -p "${CLIENT_SECRET}" --tenant "${TENANT_ID}"
  3. 次のコマンドを実行して、ルートのリストを取得します。

    $ oc get routes --all-namespaces | grep console

    出力例

    openshift-console          console             console-openshift-console.apps.test.azure.example.com                       console             https   reencrypt/Redirect     None
    openshift-console          downloads           downloads-openshift-console.apps.test.azure.example.com                     downloads           http    edge/Redirect          None

  4. DNS ゾーンのリストを取得します。

    1. パブリック DNS ゾーンの場合は、次のコマンドを入力してください。

      $ az network dns zone list --resource-group "${RESOURCE_GROUP}"
    2. プライベート DNS ゾーンの場合は、次のコマンドを入力してください。

      $ az network private-dns zone list -g "${RESOURCE_GROUP}"
  5. ExternalDNS オブジェクトを定義する YAML ファイル (例: external-dns-sample-azure.yaml) を作成します。

    external-dns-sample-azure.yaml ファイルの例

    apiVersion: externaldns.olm.openshift.io/v1beta1
    kind: ExternalDNS
    metadata:
      name: sample-azure
    spec:
      zones:
      - "/subscriptions/1234567890/resourceGroups/test-azure-xxxxx-rg/providers/Microsoft.Network/dnszones/test.azure.example.com"
      provider:
        type: Azure
      source:
        openshiftRouteOptions:
          routerName: default
        type: OpenShiftRoute
    # ...

    ここでは、以下のようになります。

    metadata.name
    外部 DNS 名を指定します。
    仕様ゾーン
    ゾーン ID を指定します。プライベート DNS ゾーンの場合は、dnszonesprivateDnsZones に変更します。
    プロバイダータイプ
    プロバイダーの種類を指定します。
    source.openshiftRouteOptions
    DNS レコードのソースに関するオプションを指定します。
    routerName
    ソースタイプが OpenShiftRoute の場合、OpenShift Ingress Controller 名を渡すことができます。External DNS Operator は、CNAME レコードを作成する際に、そのルーターの正規ホスト名をターゲットとして選択します。
    ソースタイプ
    Azure DNS レコードのソースとして、ルート リソースを指定します。

トラブルシューティング

  1. ルートに対して作成されたレコードを確認します。

    1. パブリック DNS ゾーンの場合は、次のコマンドを入力してください。

      $ az network dns record-set list -g "${RESOURCE_GROUP}" -z "${ZONE_NAME}" | grep console
    2. プライベート DNS ゾーンの場合は、次のコマンドを入力してください。

      $ az network private-dns record-set list -g "${RESOURCE_GROUP}" -z "${ZONE_NAME}" | grep console
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る