【发布时间】:2021-03-01 11:24:26
【问题描述】:
我有一些部署在自定义命名空间中运行。他们引用秘密 azure-files 来获取映射卷的凭据。这个映射是这样完成的:
volumes:
- azureFile:
secretName: azure-files
shareName: myshare
name: azure
当我应用 YAML 时,pod 会尝试启动,但失败了。当我描述 pod 时,我看到以下错误:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 26s default-scheduler Successfully assigned development-l56t08/develop-is4-58b4d966b4-948dw to aks-agentpool-41062645-vmss000002
Warning FailedMount 10s (x6 over 26s) kubelet MountVolume.SetUp failed for volume "azure" : Couldn't get secret default/azure-files
出于某种原因,Kubernetes 尝试从默认命名空间而不是我自己的命名空间中获取密钥。当我将秘密添加到默认命名空间时,一切正常。有谁知道如何解决这个问题?我的印象是你甚至不能引用其他命名空间中的秘密。
秘密确实存在于我的命名空间中,并且其他秘密似乎工作正常......
【问题讨论】:
-
我做了一些研究,似乎问题仍然没有解决 - github.com/kubernetes/kubernetes/issues/70044 你也看看serverfault.com/questions/1024219/… 吗?
-
将集群升级到 Kubernetes 1.19 时出现此错误。我认为它在重新创建 pod 期间失败了,但这是 Azure AKS 中的一个问题:github.com/kubernetes/kubernetes/issues/99061
标签: kubernetes azure-aks