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-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
필드 아래에 프라이빗 영역을 지정해야 합니다.