5.3. 配置 Azure DNS 供应商凭证


流程

  1. 创建一个新的 Azure 服务主体来管理 DNS,如下所示:

    DNS_NEW_SP_NAME=kuadrantDnsPrincipal
    DNS_SP=$(az ad sp create-for-rbac --name $DNS_NEW_SP_NAME)
    DNS_SP_APP_ID=$(echo $DNS_SP | jq -r '.appId')
    DNS_SP_PASSWORD=$(echo $DNS_SP | jq -r '.password')

    有关服务主体的详情,请参阅 Microsoft Azure 文档

  2. 要授予对您要为您要使用的服务主体管理的区域的读和贡献者访问权限,请执行以下步骤:

    1. 获取用于授予服务主体访问权限的 DNS ID,如下所示:

      DNS_ID=$(az network dns zone show --name example.com \
       --resource-group ExampleDNSResourceGroup --query "id" --output tsv)
      
      # Get your resource group ID
      RESOURCE_GROUP_ID=az group show --resource-group ExampleDNSResourceGroup | jq ".id" -r
    2. 提供资源组的读者访问,如下所示:

      az role assignment create --role "Reader" --assignee $DNS_SP_APP_ID --scope $DNS_ID
    3. 提供对 DNS 区的贡献访问权限,如下所示:

      az role assignment create --role "Contributor" --assignee $DNS_SP_APP_ID --scope $DNS_ID
  3. 因为您要为地理和加权响应设置高级流量规则,所以还必须授予流量管理器和 DNS 区域访问权限,如下所示:

    az role assignment create --role "Traffic Manager Contributor" --assignee $DNS_SP_APP_ID --scope $RESOURCE_GROUP_ID
    
    az role assignment create --role "DNS Zone Contributor" --assignee $DNS_SP_APP_ID --scope $RESOURCE_GROUP_ID
    
    cat <<-EOF > /local/path/to/azure.json
    {
      "tenantId": "$(az account show --query tenantId -o tsv)",
      "subscriptionId": "$(az account show --query id -o tsv)",
      "resourceGroup": "ExampleDNSResourceGroup",
      "aadClientId": "$DNS_SP_APP_ID",
      "aadClientSecret": "$DNS_SP_PASSWORD"
    }
    EOF
  4. 为您的凭证创建一个 Secret 资源,如下所示:

    kubectl create secret generic test-azure-credentials \
      --namespace=api-gateway \
      --type=kuadrant.io/azure \
      --from-file=azure.json=/local/path/to/azure.json

    在这种情况下,您必须将 secret 类型设置为 azure

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部