15

我创建了一个掌舵图,其中包含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

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

4

3 回答 3

14

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

在 Helm v3 中,Tiller 被删除,每个发布版本的信息都必须放在某个地方

在 Helm 3 中,关于特定版本的版本信息现在存储在与版本本身相同的命名空间中。

此外,Helm v3使用 Secrets 作为默认存储驱动程序而不是 ConfigMaps(即,预计您会看到每个具有发布版本的命名空间的这些 helm secrets)。

于 2019-11-04T12:48:31.330 回答
9

可以选择helm upgrade限制保留的旧部署机密的数量:

--history-max int      limit the maximum number of revisions saved per release.
                       Use 0 for no limit (default 10)
于 2020-08-27T11:28:08.120 回答
0

这是因为 Helm3 中不再有出纳员。因此,发布信息现在存储在与发布本身相同的命名空间中作为机密

Helm 使用哪个作为默认存储驱动程序

于 2021-12-22T19:02:25.463 回答