20.6. Azure에서 DNS 레코드 생성
외부 DNS Operator를 사용하여 Azure에 DNS 레코드를 생성할 수 있습니다.
20.6.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-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 다음 명령을 실행하여 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필드 아래에 프라이빗 영역을 지정해야 합니다.