Search code examples
kubernetesdevopskubernetes-podconfigmapkubernetes-secrets

Facing some issues when trying to create secrets in kubernetes


I need to store some passwords and usernames in the secrets.YAML .but after the deployment getting this error .so unable to build the secret and access it in the pods. Attaching the deployment.yaml and secretes .yaml below.

--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

After deployment in TeamCity getting this error

Error from server (BadRequest): error when creating "STDIN": Secret in version "v1" cannot be handled as a Secret: v1.Secret.ObjectMeta: v1.ObjectMeta.TypeMeta: Kind: Data: decode base64: illegal base64 data at input byte 3, error found in #10 byte of ...|-password"},"kind":"|..., bigger context ...|_CassandraPassword":"dev-bling-cassandra-password"},"kind":"Secret","metadata":{"annotations":{"kube|... error parsing STDIN: error converting YAML to JSON: yaml: line 33: did not find expected '-' indicator


Solution

  • Looks like type is missing, can you try as below,

    ---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