在 Kubernetes 集群中设置环境变量
set env variable in Kubernetes clusters
我是 Kubernetes 新手。
我在使用 google-cloud-storage 时发现了一些错误。
问题是,
当我直接在 .yaml 文件中指定 GCLOUD_PRIVATE_KEY 时,
我工作很好
- name: GCLOUD_PRIVATE_KEY
value: "-----BEGIN PRIVATE KEY-----\n(...)\n-----END PRIVATE KEY-----\n"
但是,当我将变量注入集群时。
AT终端
kubectl create secret generic gcloud-private-key --from-literal=GCLOUD_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n(...)\n-----END PRIVATE KEY-----\n"
AT.yaml
- name: GCLOUD_PRIVATE_KEY
valueFrom:
secretKeyRef:
name: gcloud-private-key
key: GCLOUD_PRIVATE_KEY
发生与密钥相关的错误。
为了以防万一,我什至尝试了转义符号,
AT终端
kubectl create secret generic gcloud-private-key --from-literal=GCLOUD_PRIVATE_KEY='"-----BEGIN PRIVATE KEY-----\n(...)\n-----END PRIVATE KEY-----\n"'
然而,它并没有那么好用!你能告诉我如何解决吗??
kubectl create secret generic gcloud-private-key --from-literal=GCLOUD_PRIVATE_KEY='"...\n...
'\n', '"' 是从文字创建时 TLS 密钥的无效字符。您可以直接从原始文件加载密钥 as-is:
kubectl create secret generic gcloud-private-key --from-literal GCLOUD_PRIVATE_KEY="$(cat <file>)"
根据gohm'c给出的提示,我解决了这个问题。
AT终端
echo -n "-----BEGIN PRIVATE KEY-----\n(...)\n-----END PRIVATE KEY-----\n" > ./gcloud-private-key.txt
kubectl create secret generic gcloud-private-key --from-file=GCLOUD_PRIVATE_KEY=./gcloud-private-key.txt
AT.yaml
- name: GCLOUD_PRIVATE_KEY
valueFrom:
secretKeyRef:
name: gcloud-private-key
key: GCLOUD_PRIVATE_KEY
我是 Kubernetes 新手。
我在使用 google-cloud-storage 时发现了一些错误。
问题是, 当我直接在 .yaml 文件中指定 GCLOUD_PRIVATE_KEY 时, 我工作很好
- name: GCLOUD_PRIVATE_KEY
value: "-----BEGIN PRIVATE KEY-----\n(...)\n-----END PRIVATE KEY-----\n"
但是,当我将变量注入集群时。
AT终端
kubectl create secret generic gcloud-private-key --from-literal=GCLOUD_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n(...)\n-----END PRIVATE KEY-----\n"
AT.yaml
- name: GCLOUD_PRIVATE_KEY
valueFrom:
secretKeyRef:
name: gcloud-private-key
key: GCLOUD_PRIVATE_KEY
发生与密钥相关的错误。 为了以防万一,我什至尝试了转义符号,
AT终端
kubectl create secret generic gcloud-private-key --from-literal=GCLOUD_PRIVATE_KEY='"-----BEGIN PRIVATE KEY-----\n(...)\n-----END PRIVATE KEY-----\n"'
然而,它并没有那么好用!你能告诉我如何解决吗??
kubectl create secret generic gcloud-private-key --from-literal=GCLOUD_PRIVATE_KEY='"...\n...
'\n', '"' 是从文字创建时 TLS 密钥的无效字符。您可以直接从原始文件加载密钥 as-is:
kubectl create secret generic gcloud-private-key --from-literal GCLOUD_PRIVATE_KEY="$(cat <file>)"
根据gohm'c给出的提示,我解决了这个问题。
AT终端
echo -n "-----BEGIN PRIVATE KEY-----\n(...)\n-----END PRIVATE KEY-----\n" > ./gcloud-private-key.txt
kubectl create secret generic gcloud-private-key --from-file=GCLOUD_PRIVATE_KEY=./gcloud-private-key.txt
AT.yaml
- name: GCLOUD_PRIVATE_KEY
valueFrom:
secretKeyRef:
name: gcloud-private-key
key: GCLOUD_PRIVATE_KEY