14.5. Azure での DNS レコードの作成
外部 DNS Operator を使用して、Azure で DNS レコードを作成できます。
14.5.1. Red Hat 外部 DNS Operator を使用した Azure のパブリック DNS ゾーンへの DNS レコードの作成
Red Hat 外部 DNS Operator を使用して、Azure のパブリック DNS ゾーンに DNS レコードを作成できます。
手順
ユーザーを確認してください。ユーザーは、
kube-system
namespace にアクセスできる必要があります。クレデンシャルがない場合は、kube-system
namespace からクレデンシャルを取得すると、クラウドプロバイダークライアントを使用できます。$ oc whoami
出力例
system:admin
kube-system
namespace に存在する azure-credentials シークレットから値を取得します。$ 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)
base64 でデコードされた値を使用して azure にログインします。
$ az login --service-principal -u "${CLIENT_ID}" -p "${CLIENT_SECRET}" --tenant "${TENANT_ID}"
ルートを取得して、ドメインを確認します。
$ 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
DNS ゾーンのリストを取得して、以前に検出されたルートのドメインに対応するものを検索します。
$ az network dns zone list --resource-group "${RESOURCE_GROUP}"
route
ソースのExternalDNS
リソースを作成します。apiVersion: externaldns.olm.openshift.io/v1alpha1 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 EOF
次のコマンドを使用して、OCP ルート用に作成されたレコードを確認します。
$ az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console
注記プライベート Azure DNS のプライベートホストゾーンにレコードを作成するには、
ゾーン
の下にプライベートゾーンを指定する必要があります。ゾーンは、ExternalDNS
コンテナー引数でプロバイダータイプをazure-private-dns
に設定します。