尝试在kubernetes中创建机密时遇到一些问题

时间:2020-01-29 06:00:56

标签: kubernetes devops kubernetes-pod configmap kubernetes-secrets

我需要在secrets.YAML中存储一些密码和用户名,但是在部署后出现此错误。因此无法构建秘密并在pod中访问它。 在下面附加Deployment.yaml并分泌.yaml。

-Secrets.yaml

    apiVersion: v1
    kind: Secret
    metadata:
      name: mysecret
    data:
       CassandraSettings__CassandraPassword: [[ .Environment ]]-abcd-cassandra-password

--- Deployment.yaml

     env:
          - name: Password
            valueFrom:
                secretKeyRef:
                  name: mysecret
                  key: CassandraSettings__CassandraPassword

在TeamCity中部署后出现此错误

来自服务器的错误(BadRequest):创建“ STDIN”时出错:秘密 版本“ v1”不能作为密钥处理:v1.Secret.ObjectMeta: v1.ObjectMeta.TypeMeta:类型:数据:解码base64:非法的base64数据 在输入字节3处,在#10个字节中发现错误 ... | -password“},” kind“:” | ...,更大的上下文 ... | __CassandraPassword“:” dev-bling-cassandra-password“},”种类“:”秘密“,”元数据“:{”注释“:{” kube | ... 解析STDIN时出错:将YAML转换为JSON时出错:yaml:第33行:确实 找不到预期的“-”指示器

1 个答案:

答案 0 :(得分:1)

缺少类型,您可以尝试以下操作吗

-Secrets.yaml

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  CassandraSettings__CassandraPassword: [[ .Environment ]]-abcd-cassandra-password

--- Deployment.yaml

    env:
      - name: Password
        valueFrom:
             secretKeyRef:
               name: mysecret
               key: CassandraSettings__CassandraPassword