从配置到某个命名空间的 env 文件创建秘密
Creating secrets from env file configured to a certain namespace
所以在创建秘密时我经常会使用:
kubectl create secret generic super-secret --from-env-file=secrets
但是,我想将其移动到专用的 secrets.yaml 文件,根据文档属于“机密”文件:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-secret-generic-em-
但是,为此,我需要对所有机密进行 base64 编码。世界卫生大会!这是不好的恕我直言。为什么 kubectl 不能为我们处理这个? (改天再辩论)。
所以,我又开始使用 kubectl create secret
命令,该命令非常适合部署 - 但是,我想知道将所说的秘密创建应用到特定名称空间的过程是什么? (同样,这可能会涉及一些棘手的事情才能使事情正常工作 - 但为什么它不是标准功能却有点令人担忧?)
您可以提供机密的 stringData
部分,而不是 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
Kubectl's standard options 包含一个 --namespace
或 -n
选项*,可以轻松实现此目的:
kubectl create secret generic super-secret --from-env-file=secrets --namespace=whatever_namespace_you want
*创建秘密的文档中未明确包含或提及此内容。这是该部分的假定知识。
您可以使用 --dry-run
和 -oyaml
标志。
使用此命令生成您的 secrets.yaml 文件
kubectl create secret generic super-secret \
--from-env-file=secrets --namespace <your-namespace> \
--dry-run=client -oyaml > secrets.yaml
以上是k8s社区的标准。
所以在创建秘密时我经常会使用:
kubectl create secret generic super-secret --from-env-file=secrets
但是,我想将其移动到专用的 secrets.yaml 文件,根据文档属于“机密”文件:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#-em-secret-generic-em-
但是,为此,我需要对所有机密进行 base64 编码。世界卫生大会!这是不好的恕我直言。为什么 kubectl 不能为我们处理这个? (改天再辩论)。
所以,我又开始使用 kubectl create secret
命令,该命令非常适合部署 - 但是,我想知道将所说的秘密创建应用到特定名称空间的过程是什么? (同样,这可能会涉及一些棘手的事情才能使事情正常工作 - 但为什么它不是标准功能却有点令人担忧?)
您可以提供机密的 stringData
部分,而不是 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
Kubectl's standard options 包含一个 --namespace
或 -n
选项*,可以轻松实现此目的:
kubectl create secret generic super-secret --from-env-file=secrets --namespace=whatever_namespace_you want
*创建秘密的文档中未明确包含或提及此内容。这是该部分的假定知识。
您可以使用 --dry-run
和 -oyaml
标志。
使用此命令生成您的 secrets.yaml 文件
kubectl create secret generic super-secret \
--from-env-file=secrets --namespace <your-namespace> \
--dry-run=client -oyaml > secrets.yaml
以上是k8s社区的标准。