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


External DNS Operator を使用して、Azure 上に DNS レコードを作成できます。

重要

{entra-first} 対応クラスターまたは Microsoft Azure Government (MAG) リージョンで実行されるクラスターでの外部 DNS Operator の使用はサポートされていません。

17.5.1. Azure のパブリック DNS ゾーン上で DNS レコードを作成する

Red Hat External DNS Operator を使用して、Azure のパブリック DNS ゾーンに DNS レコードを作成できます。

前提条件

  • 管理者権限を持っている。
  • 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 ゾーンのリストを取得します。

    $ az network dns zone list --resource-group "${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 1
    spec:
      zones:
      - "/subscriptions/1234567890/resourceGroups/test-azure-xxxxx-rg/providers/Microsoft.Network/dnszones/test.azure.example.com" 2
      provider:
        type: Azure 3
      source:
        openshiftRouteOptions: 4
          routerName: default 5
        type: OpenShiftRoute 6

    1
    外部 DNS 名を指定します。
    2
    ゾーン ID を定義します。
    3
    プロバイダータイプを定義します。
    4
    DNS レコードのソースのオプションを定義できます。
    5
    ソースタイプが OpenShiftRoute の場合、OpenShift Ingress Controller 名を渡すことができます。外部 DNS は、CNAME レコードの作成時に、そのルーターの正規のホスト名をターゲットとして選択します。
    6
    route リソースを Azure DNS レコードのソースとして定義します。
  6. 次のコマンドを実行して、OpenShift Container Platform ルートに対して作成された DNS レコードを確認します。

    $ az network dns record-set list -g "${RESOURCE_GROUP}"  -z test.azure.example.com | grep console
    注記

    プライベート Azure DNS のホストされたプライベートゾーンにレコードを作成するには、zones フィールドの下にプライベートゾーンを指定する必要があります。これにより、プロバイダータイプが ExternalDNS 引数の azure-private-dns に入力されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.