外部 DNS 无法通过具有 DNS 网络参与者角色的 azure aks 版本 1.22.2 的 kubeletidentity 上的 MSI 托管用户身份刷新令牌。
只是为了排除其他可能的错误,这个确切的部署适用于外部 DNS 的客户端/秘密,但我想避免/减少我需要在我的 aks 集群上管理的秘密。
此外,我注意到具有密钥的客户端 SP 具有 Microsoft Graph User.Read 的 AD 权限,列在我的 kubeletidentity 管理用户没有的 API 权限下。
我正在通过此链接为 AKS 群集设置带有 MSI 的外部 DNS: https ://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/azure.md#azure-managed-服务标识-msi
我在管理区域域的组上为我的 AKS 集群“DNS 网络参与者”角色授予 kubeletidentity 用户托管标识。
我遇到的一个问题可能是问题的一部分是我用于上述授权的 SP 分配了 Owner 和 Graph Owner 角色,但在将上述 DNS 网络贡献者角色授予 kubeletidentity 用户管理时仍然出现一些图形错误身份。见下文:
调用 Graph API 查询 xxxx-xxxx-xxxxxx... 失败。如果您没有查询 Graph API 的权限,请指定 --assignee-object-id 和 --assignee-principal-type。假设 xxxxxx-xxxxx-xxxxxx... 作为对象 ID...
问题,将向授予角色的 SP 添加查询 Graph API 的权限可以解决此问题吗?还是我需要向 kubeletidentity 用户托管身份授予 AD 权限?
“发布“http://dummy”...服务器行为不端”错误的令牌刷新错误的完整日志详细信息如下:
谢谢你的帮助。
日志详细信息:
in the logs for external DNS I'm getting:
time="2021-11-19T12:21:56Z" level=info msg="Instantiating new Kubernetes client"
time="2021-11-19T12:21:56Z" level=debug msg="apiServerURL: "
time="2021-11-19T12:21:56Z" level=debug msg="kubeConfig: "
time="2021-11-19T12:21:56Z" level=info msg="Using inCluster-config based on serviceaccount-token"
time="2021-11-19T12:21:56Z" level=info msg="Created Kubernetes client https://myakscluseter...:443"
time="2021-11-19T12:21:57Z" level=info msg="Using managed identity extension to retrieve access token for Azure API."
time="2021-11-19T12:21:57Z" level=info msg="Resolving to system assigned identity."
time="2021-11-19T12:22:02Z" level=debug msg="Retrieving Azure DNS zones for resource group: mygroup."
time="2021-11-19T12:37:00Z" level=error msg="azure.BearerAuthorizer#WithAuthorization: Failed to refresh the Token for request to https://management.azure.com/subscriptions/xxxxxxxxxxxxxxxxxxxxxxx/resourceGroups/mygroup/providers/Microsoft.Network/dnsZones?api-version=2018-05-01: StatusCode=0 -- Original Error: adal: Failed to execute the refresh request. Error = 'Post \"http://dummy\": dial tcp: lookup dummy on 10.244.0.10:53: server misbehaving'"