【问题标题】:Secret not fetched from current namespace, but from the default namespace秘密不是从当前命名空间中获取的,而是从默认命名空间中获取的
【发布时间】: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 尝试从默认命名空间而不是我自己的命名空间中获取密钥。当我将秘密添加到默认命名空间时,一切正常。有谁知道如何解决这个问题?我的印象是你甚至不能引用其他命名空间中的秘密。

秘密确实存在于我的命名空间中,并且其他秘密似乎工作正常......

【问题讨论】:

标签: kubernetes azure-aks


【解决方案1】:

这是 AKS 代码中的错误。

无论 CSI 驱动程序机制如何处理机密,都必须保持向后兼容并适应 in-tree 实现,而不是相反。

请恢复 #97417 并选择 1.18-1.20 以恢复与 1.18-1.20 版本的兼容性。这需要在 1.18 离开维护之前发生 (https://github.com/kubernetes/sig-release/blob/master/releases/patch-releases.md#118)

csi 翻译库的变化 https://github.com/kubernetes/kubernetes/pull/97877/files#r596900593 可能也需要调整

用于跟踪错误检查:azurefile-aks

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 2017-01-11
    • 2022-10-07
    • 1970-01-01
    • 2012-02-12
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多