Kubernetes 在 Secret.yml 中存储键值对
Kubernetes storing key-value pair in Secret.yml
我想知道是否可以在 Secret.yml 中存储键值对。
我希望能够将加密密钥存储为一个值,将一个 id 存储为其密钥,我可以使用它来检索存储在 Secret.yml 中的加密密钥。
Kubernetes 是否提供此类功能?
编辑
我应该在我的原始消息中说,我希望能够在我的应用程序的生命周期内存储多对和添加对,并即时使用不同的加密密钥 without/minimal 更新我的应用程序。
Kubernetes secret 将数据存储为键值对(参考:https://kubernetes.io/docs/concepts/configuration/secret/)。
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
key: dmFsdWU=
这里的值是base64编码的。
是的,secrets是键值对。您可以使用 kubectl 创建它们:
kubectl create secret the-secret-name --from-literal=KEY=VALUE
然后,您可以通过
查看/编辑yaml规范
#get
kubectl get secret the-secret-name -o yaml
#edit
kubectl edit secret the-secret-name
秘密看起来像这样:
apiVersion: v1
kind: Secret
metadata:
name: the-secret-name
type: Opaque
data:
# the value is base64 encoded
KEY: VkFMVUUK
大多数时候,在您的情况下最好使用两个键值对。这样做的原因是 complicated/expensive 查找具有未知名称的键比查找键下的值更 complicated/expensive。
谢谢大家的回答。我发现在 Secret.yaml 中使用以下格式效果很好:
encryptionKey |
KeyName: 123456abcdef
SecondKeyName: abcdef123456
然后我会在我的 Java 应用程序中将键值对作为 Map 获取,并这样对待它,例如,我可以搜索键 KeyName
并获取我需要的值.
我想知道是否可以在 Secret.yml 中存储键值对。 我希望能够将加密密钥存储为一个值,将一个 id 存储为其密钥,我可以使用它来检索存储在 Secret.yml 中的加密密钥。
Kubernetes 是否提供此类功能?
编辑 我应该在我的原始消息中说,我希望能够在我的应用程序的生命周期内存储多对和添加对,并即时使用不同的加密密钥 without/minimal 更新我的应用程序。
Kubernetes secret 将数据存储为键值对(参考:https://kubernetes.io/docs/concepts/configuration/secret/)。
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
key: dmFsdWU=
这里的值是base64编码的。
是的,secrets是键值对。您可以使用 kubectl 创建它们:
kubectl create secret the-secret-name --from-literal=KEY=VALUE
然后,您可以通过
查看/编辑yaml规范#get
kubectl get secret the-secret-name -o yaml
#edit
kubectl edit secret the-secret-name
秘密看起来像这样:
apiVersion: v1
kind: Secret
metadata:
name: the-secret-name
type: Opaque
data:
# the value is base64 encoded
KEY: VkFMVUUK
大多数时候,在您的情况下最好使用两个键值对。这样做的原因是 complicated/expensive 查找具有未知名称的键比查找键下的值更 complicated/expensive。
谢谢大家的回答。我发现在 Secret.yaml 中使用以下格式效果很好:
encryptionKey |
KeyName: 123456abcdef
SecondKeyName: abcdef123456
然后我会在我的 Java 应用程序中将键值对作为 Map 获取,并这样对待它,例如,我可以搜索键 KeyName
并获取我需要的值.