This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.16.5. 在 Azure 上创建 DNS 记录
您可以使用 External DNS Operator 在 Azure 上创建 DNS 记录。
您可以使用 Red Hat External DNS Operator 为 Azure 的公共 DNS 区域创建 DNS 记录。
流程
检查用户。用户必须有权访问
kube-system
命名空间。如果没有凭证,您可以从kube-system
命名空间中获取凭证,以使用云供应商客户端:oc whoami
$ oc whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
system:admin
system:admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从
kube-system
命名空间中获取 azure-credentials secret 的值。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)
$ 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)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 base64 解码值登录到 azure:
az login --service-principal -u "${CLIENT_ID}" -p "${CLIENT_SECRET}" --tenant "${TENANT_ID}"
$ az login --service-principal -u "${CLIENT_ID}" -p "${CLIENT_SECRET}" --tenant "${TENANT_ID}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取路由来检查域:
oc get routes --all-namespaces | grep console
$ oc get routes --all-namespaces | grep console
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取 dns zones 列表以查找与之前找到的路由域对应的 dns 区域:
az network dns zone list --resource-group "${RESOURCE_GROUP}"
$ az network dns zone list --resource-group "${RESOURCE_GROUP}"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为
路由
源创建ExternalDNS
资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令,检查为 OCP 路由创建的记录:
az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console
$ az network dns record-set list -g "${RESOURCE_GROUP}" -z test.azure.example.com | grep console
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意要在私有 Azure dns 上的私有托管区中创建记录,您需要在
zones
下指定私有区,在ExternalDNS
容器 args 中填充供应商类型到azure-private-dns
。