首页 > 解决方案 > 从配置到某个命名空间的 env 文件创建秘密

问题描述

因此,在创建秘密时,我经常会使用:

kubectl create secret generic super-secret --from-env-file=secrets

但是,我想根据文档将其移至专用的 secrets.yaml 文件,类型为“秘密”:https ://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-secret-通用-em-

但是,要做到这一点,我需要对所有秘密进行 base64 编码。世界卫生大会!这是不好的恕我直言。为什么 kubectl 不能为我们处理这个问题?(另一天的另一场辩论)。

所以,我又回到了使用该kubectl create secret命令,该命令非常易于部署 - 但是,我想知道将所述秘密创建应用于特定命名空间的过程是什么?(同样,这可能会涉及一些棘手的事情来让事情正常工作 - 但为什么它不是标准功能却有点令人担忧?)

标签: kuberneteskubectl

解决方案


您可以提供stringDataSecret 的部分而不是data部分。这不需要base64编码。这里,是一个例子:

apiVersion: v1
kind: Secret
metadata:
  name: secret-basic-auth
  namespace: demo
type: kubernetes.io/basic-auth
stringData:
  username: admin
  password: t0p-Secret

参考:https ://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret


推荐阅读