4.6. Azure에서 DNS 레코드 생성
외부 DNS Operator를 사용하여 Azure에 DNS 레코드를 생성할 수 있습니다.
Microsoft Entra Workload ID 지원 클러스터에서 외부 DNS Operator 또는 MAG(Microsoft Azure Government) 리전에서 실행되는 클러스터를 사용하는 것은 지원되지 않습니다.
4.6.1. Azure DNS 영역에서 DNS 레코드 생성 링크 복사링크가 클립보드에 복사되었습니다!
외부 DNS Operator를 사용하여 Azure의 퍼블릭 또는 프라이빗 DNS 영역에 DNS(Domain Name Server) 레코드를 생성할 수 있습니다.
사전 요구 사항
- 클러스터 관리자 권한이 있어야합니다.
-
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 NoneDNS 영역 목록을 가져옵니다.
다음 명령을 실행하여 퍼블릭 DNS 영역의 경우 다음을 수행합니다.
$ az network dns zone list --resource-group "${RESOURCE_GROUP}"다음 명령을 실행하여 프라이빗 DNS 영역의 경우 다음을 수행합니다.
$ az network private-dns zone list -g "${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-azure1 spec: zones: - "/subscriptions/1234567890/resourceGroups/test-azure-xxxxx-rg/providers/Microsoft.Network/dnszones/test.azure.example.com"2 provider: type: Azure3 source: openshiftRouteOptions:4 routerName: default5 type: OpenShiftRoute6
문제 해결
경로에 대해 생성된 레코드를 확인합니다.
다음 명령을 실행하여 퍼블릭 DNS 영역의 경우 다음을 수행합니다.
$ az network dns record-set list -g "${RESOURCE_GROUP}" -z "${ZONE_NAME}" | grep console다음 명령을 실행하여 프라이빗 DNS 영역의 경우 다음을 수행합니다.
$ az network private-dns record-set list -g "${RESOURCE_GROUP}" -z "${ZONE_NAME}" | grep console