我已经从文件(secret.txt)中创建了一个kubernetes机密:
k1=v1
k2=v2
k3=v3
看起来像这个秘密-:
apiVersion: v1
metadata:
name: secret007
data:
secret.txt: bWFza1NhbHQ9InRlc3RzYWx0IgpzM1
我将其用作吊舱中的环境变量,如下所示:
- name: KEY1
valueFrom:
secretKeyRef:
key: k1
name: secret007
optional: false
问题 由于数据具有作为单个base64值的值,因此出现问题。我无法在广告连播中引用它并收到此错误。
Warning Failed 6s (x2 over 6s) kubelet, Error: couldn't find key k1 in Secret kube-system/secret007
请建议如何在不更改密码格式的情况下执行此操作,即Secret将是filename的单个键值,而所有secret.txt值将作为单个base64值。有可能吗?
答案 0 :(得分:3)
您可以从环境文件中创建秘密条目
kubectl create secret generic test --from-env-file=secret.txt
并且您的秘密中的输出将具有不同的值
apiVersion: v1
data:
k1: djE=
k2: djI=
k3: djM=
kind: Secret
metadata:
creationTimestamp: null
name: test
答案 1 :(得分:1)