【问题标题】:Facing some issues when trying to create secrets in kubernetes尝试在 Kubernetes 中创建秘密时遇到一些问题
【发布时间】: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


【解决方案1】:

好像缺少类型,你可以尝试如下,

---Secrets.yaml

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

---部署.yaml

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-22
    • 2022-01-24
    • 1970-01-01
    • 2021-02-12
    • 2021-11-12
    • 1970-01-01
    • 2022-08-06
    • 1970-01-01
    相关资源
    最近更新 更多