在 pod 运行时挂载 Kubernetes secret

Mount Kubernetes secret at pod runtime

我在我的 StatefulSet 中定义了一个 可选 秘密卷,例如

  - name: my-secret-volume
    secret:
      secretName: my-secret
      optional: true

此外,我将它安装在我的容器中。当我提供 pod 时,秘密还不存在。

稍后,集群上安装了另一个服务,创建了 my-secret。有没有什么方法可以在我的 pod 中将该秘密安装到它最初标记为可选的位置,而无需重新启动 pod?

显然,安装的机密会自动更新。来自 https://kubernetes.io/docs/concepts/configuration/secret/#using-secrets :

When a secret being already consumed in a volume is updated, projected keys are eventually updated as well. Kubelet is checking whether the mounted secret is fresh on every periodic sync.

我手动测试了它,定义了 my-secret,它最终(不到一分钟)出现在挂载的路径中,该路径之前是空的(在我创建 my-secret 之前)。