使用 helm 时创建的额外机密

Extra secrets created when helm is used

我创建了一个舵图,其中 secrets.yaml 为:

apiVersion: v1
kind: Secret
type: Opaque
metadata: 
 name: appdbpassword
stringData:
  password: password@1

我的播客是:

apiVersion: v1
kind: Pod
metadata:
  name: expense-pod-sample-1
spec:
  containers:
    - name: expense-container-sample-1
      image: exm:1
      command: [ "/bin/sh", "-c", "--" ]
      args: [ "while true; do sleep 30; done;" ]
      envFrom:
      - secretRef:
              name: appdbpassword

每当我 运行 执行 kubectl get secrets 命令时,我都会得到以下秘密:

name                                     Type                 Data    Age
appdbpassword                            Opaque               1      41m
sh.helm.release.v1.myhelm-1572515128.v1  helm.sh/release.v1   1      41m

为什么我会得到那个额外的秘密?我在这里遗漏了什么吗?

Helm v2 used ConfigMaps 默认存储发布信息。 ConfigMap 是在 Tiller 的相同命名空间中创建的(通常 kube-system)。

在 Helm v3 中删除了 Tiller,每个发布版本的信息had to go somewhere

In Helm 3, release information about a particular release is now stored in the same namespace as the release itself.

此外,Helm v3 uses Secrets as default 存储驱动程序而不是 ConfigMaps(即,预计您会看到每个具有发布版本的命名空间的这些 helm 秘密)。

helm upgrade 有一个选项可以限制保留的旧部署机密的数量:

--history-max int      limit the maximum number of revisions saved per release.
                       Use 0 for no limit (default 10)

这是因为Helm3中没有柜员了。因此,版本信息 现在存储在与版本本身相同的命名空间中,是一个秘密

哪个 Helm 用作 default storage driver