如何解决无法使用 StorageClass 配置卷 - 无法获取存储帐户的存储密钥
我正在尝试为 pod 部署提供 PVC,但我正面临此错误:
无法使用 StorageClass“xxxxxxxxxxx”配置卷:无法获取存储帐户的存储密钥 yyyyyyyyyyy:无法获取存储帐户的存储密钥 yyyyyyyyyyy:可重试:false,RetryAfter:0s,HTTPStatusCode:400,RawError:可重试:false,RetryAfter: 0s,HTTPStatusCode: 400,RawError: azure.BearerAuthorizer#WithAuthorization: 未能刷新令牌以请求 http://localhost:7788/subscriptions/zzzzzzzzzzz-aaaaaa-bbbbbb/resourceGroups/MC_kkkkkkkkkkprovkkiderkk/Microsoft /storageAccounts/yyyyyyyyyyyyyyy/listKeys?api-version=2019-06-01: StatusCode=400 -- 原始错误:adal:刷新请求失败。状态代码 = '400'。响应正文:{"error":"unauthorized_client","error_description":"AADSTS700016:在目录'pppppppppppp-aaaaaaaaaaaa-ttttttttttt'中找不到标识符为'aaaaaaa-bbbbbbbb-cccccccccccccccc'的应用程序。未由租户的管理员安装或租户中的任何用户同意。您可能将身份验证请求发送给了错误的租户。
我对 AKS 还很陌生,我相信我缺少一些非常重要的东西,但还没有在网络上找到任何帮助。
这是我已经仔细检查过的:
存储类清单
kind: StorageClass
apiVersion: storage.k8s.io/v1
Metadata:
name: xxxxxxxx
provisioner: kubernetes.io/azure-file
parameters:
skuName: Standard_lrs
storageAccount: yyyyyyyyyyyy
resourceGroup: MC_zzzzzzzzzzzzzzzzz
PVC 清单
apiVersion: v1
kind: PersistentVolumeClaim
Metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: xxxxxxxx
resources:
requests:
storage: 5Gi
我使用 Lens 来管理我的集群。 PVC 资源挂在 Pending
状态:
你们能帮我弄清楚吗?
解决方法
根据 github 问题 here,如果集群没有服务主体或服务主体在 1 年有效期后过期,则会发生这种情况。
您可以通过运行以下命令来验证它。通过在任何主节点或代理节点上打开 /etc/kubernetes/azure.json
文件来检索详细信息。
az login --service-principal -u <aadClientId> -p <aadClientSecret> -t <tenantId>
在 doc 后面更新或轮换凭证应该可以解决这个问题。
或者,您可以使用托管标识而不是服务主体来获取权限。托管身份比服务主体更易于管理,并且不需要更新或轮换。有关详细信息,请参阅 Use managed identities
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。