16.5. Azure에서 DNS 레코드 생성
외부 DNS Operator를 사용하여 Azure에서 DNS 레코드를 생성할 수 있습니다.
16.5.1. Red Hat External DNS Operator를 사용하여 Azure의 퍼블릭 DNS 영역에 DNS 레코드 생성
Red Hat External DNS Operator를 사용하여 Azure의 퍼블릭 DNS 영역에서 DNS 레코드를 생성할 수 있습니다.
절차
사용자를 확인합니다. 사용자는
kube-system
네임스페이스에 액세스할 수 있어야 합니다. 인증 정보가 없는 경우kube-system
네임스페이스에서 인증 정보를 가져와 클라우드 공급자 클라이언트를 사용할 수 있습니다.$ oc whoami
출력 예
system:admin
kube-system
네임스페이스에 있는 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}"
경로
소스를 위한ExternalDNS
리소스를 생성합니다.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 EOF
다음 명령을 사용하여 OCP 경로에 대해 생성된 레코드를 확인합니다.
$ az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console
참고프라이빗 Azure dns의 프라이빗 호스팅 영역에 레코드를 생성하려면
ExternalDNS
컨테이너 args에서azure-private-dns
에 공급자 유형을 채우는 프라이빗영역을
지정해야 합니다.