我已经创建了一些秘密,我正试图以这种方式导入文件:
apiVersion: v1
kind: Secret
metadata:
name: {{ template "amq.broker.fullname" . }}-tls
labels:
app: {{ template "amq.name" . }}
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
component: "{{ .Values.broker.name }}"
release: "{{ .Release.Name }}"
heritage: "{{ .Release.Service }}"
type: Opaque
data:
{{ (.Files.Glob "secrets/broker.ks").AsSecrets | indent 2 }}
该文件位于 secrets
目录下 . 当我运行安装时, broker.ks
秘密不在那里 . 但是秘密在 secrets
文件夹下 . 任何的想法?
这里是dir结构
├── Chart.yaml
├── README.md
├── secrets
│ ├── broker.ks
│ ├── broker_cert
│ ├── client.ks
│ └── client.ts
├── templates
│ ├── NOTES.txt
│ ├── _helpers.tpl
└── values.yaml
2 回答
根据docs,解决方法是:
您还可以使用
.Files.Glob "secrets/*.ks"
拉取文件夹中特定类型的所有文件还要确保该文件夹尚未添加到
.helmignore
,否则将无法访问这些文件 .您可以通过KUBECTL使用必要的选项从文件中创建一个秘密
语法:kubectl < - 使用auth定义集群/命名空间的通用参数> create secret <.type> <.secret-name> --from-file=<.file-location>
例如 - kubectl --username = xxxxxx --password = yyyy --server = zzzzz.com --namespace = com-test-sample create secret generic sample-secret --from-file = secrets / broker.ks
您可以在kubernetes集群中单独创建密钥,然后通过部署下的卷安装将它们安装到您的Microservice Container中