【问题标题】:Using Vault secrets in Kubernetes YAML在 Kubernetes YAML 中使用 Vault Secret
【发布时间】:2022-07-06 16:24:01
【问题描述】:
我有一个包含以下内容的 secret.yaml 文件,但我想从 Hashicorp Vault 获取秘密。这个 secret.yaml 基本上是使用 Okta 为我的应用程序设置 OAuth 的特使配置。
如何从 Vault 获取机密信息到我的 YAML 中?有人可以在这里帮助我吗?
secret.yaml
resources:
- name: token
generic_secret:
secret:
inline_bytes: "<my_token_secret>"
【问题讨论】:
标签:
kubernetes
yaml
vault
【解决方案1】:
没有内置方法,但有一个名为external-secrets 的漂亮工具。
它基本上是这样工作的。一旦你设置了保险库,你就可以安装 external-secrets。然后,您创建一个SecretStore(仅适用于其自己命名空间中的秘密)或ClusterSecretStore(可以在集群范围内创建秘密)。现在,您创建一个名为 ExternalSecret 的 CR,它引用您的 Vault 中的 KV 路径和属性:
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: vault-example
spec:
refreshInterval: "15s"
secretStoreRef:
name: vault-backend
# Or ClusterSecretStore, depending on your setup
kind: SecretStore
target:
name: example-sync
data:
- secretKey: username
remoteRef:
key: /secrets/dev
property: user
- secretKey: password
remoteRef:
key: /secrets/dev
property: password
这将创建一个秘密:
kind: Secret
metadata:
name: example-sync
data:
username: ...
password: ...
第