Azure AKS Pod卡在ContainerCreating状态,挂载卷失败求助
问题定位与排查解决思路
这个错误的核心原因是Azure File CSI驱动挂载时,Pod Volume配置中缺失了必需的受众(audience)参数,导致ServiceAccount无法获取符合要求的令牌完成存储挂载。
排查步骤与解决方案
检查并修正Pod Volume配置
打开你的Pod/Deployment的YAML配置,找到Azure File对应的CSI Volume部分,确认volumeAttributes中是否包含audience: api://AzureADTokenExchange字段。正确的配置示例如下:volumes: - name: <azure_file_name> csi: driver: file.csi.azure.com volumeAttributes: shareName: <你的存储共享名称> audience: api://AzureADTokenExchange nodePublishSecretRef: name: <你的存储密钥Secret名称>补全该字段后,重新部署Pod即可解决挂载失败问题。
验证CSI驱动版本变化
若集群此前正常运行,近期出现该问题,大概率是Azure File CSI驱动版本升级导致的配置要求变更。执行以下命令查看当前驱动版本:kubectl get pods -n kube-system -l app=csi-azurefile-controller -o jsonpath='{.items[0].spec.containers[0].image}'部分新版本CSI驱动会强制要求显式指定
audience参数,旧版本可能默认自动填充,这是导致之前正常、现在报错的常见原因。检查ServiceAccount权限(辅助验证)
虽然报错核心是audience缺失,但也可以快速验证defaultServiceAccount是否具备存储访问权限:kubectl describe sa default确认其关联的ClusterRole/Role包含Azure存储相关的权限(若使用AKS默认CSI权限配置,通常无需额外调整)。
内容的提问来源于stack exchange,提问作者user1571823
相关产品推荐
相关产品推荐

