19.5. Azure에서 DNS 레코드 생성
외부 DNS Operator를 사용하여 Azure에 DNS 레코드를 생성할 수 있습니다.
{entra-first}-enabled cluster 또는 Microsoft Azure Government (MAG) 리전에서 실행되는 클러스터에서 외부 DNS Operator를 사용하는 것은 지원되지 않습니다.
19.5.1. Azure 퍼블릭 DNS 영역에 DNS 레코드 생성
외부 DNS Operator를 사용하여 Azure의 퍼블릭 DNS 영역에 DNS 레코드를 생성할 수 있습니다.
사전 요구 사항
- 클러스터 관리자 권한이 있어야합니다.
-
admin
사용자는kube-system
네임스페이스에 액세스할 수 있어야 합니다.
절차
다음 명령을 실행하여 클라우드 공급자 클라이언트를 사용하도록
kube-system
네임스페이스에서 인증 정보를 가져옵니다.$ 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)
다음 명령을 실행하여 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}"
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
다음 명령을 실행하여 OpenShift Container Platform 경로에 대해 생성된 DNS 레코드를 확인합니다.
$ az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console
참고프라이빗 Azure DNS의 프라이빗 호스팅 영역에 레코드를 만들려면
ExternalDNS
컨테이너 인수에서 공급자 유형을azure-private-dns
로 채우는zones
필드 아래에 프라이빗 영역을 지정해야 합니다.