【发布时间】:2020-05-14 14:36:01
【问题描述】:
我需要在 secrets.YAML 中存储一些密码和用户名。但在部署后出现此错误。因此无法构建秘密并在 pod 中访问它。 在下面附加deployment.yaml和secretes .yaml。
--Secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
data:
CassandraSettings__CassandraPassword: [[ .Environment ]]-abcd-cassandra-password
---部署.yaml
env:
- name: Password
valueFrom:
secretKeyRef:
name: mysecret
key: CassandraSettings__CassandraPassword
在 TeamCity 中部署后出现此错误
来自服务器的错误(BadRequest):创建“STDIN”时出错:Secret in 版本“v1”不能作为秘密处理:v1.Secret.ObjectMeta: v1.ObjectMeta.TypeMeta:种类:数据:解码base64:非法base64数据 在输入字节 3,在 #10 字节中发现错误 ...|-password"},"kind":"|..., 更大的上下文 ...|_CassandraPassword":"dev-bling-cassandra-password"},"kind":"Secret","metadata":{"annotations":{"kube|... 解析 STDIN 时出错:将 YAML 转换为 JSON 时出错:yaml:第 33 行:确实 找不到预期的“-”指示符
【问题讨论】:
-
这个-abcd-cassandra-password是base64编码的值吗?
-
另外,``` apiVersion: v1``` 之前的空格似乎不正确。它应该与 kind 处于同一级别。 (我猜这是复制粘贴的东西)
-
是的,复制粘贴是我的错误。两者都在同一行。
-
name:和key:字段值的 base64 加密怎么样 -
其实我会从 TeamCity 变量中获取密码的值,好像是 base64 编码的。
标签: kubernetes devops kubernetes-pod configmap kubernetes-secrets