企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
kubectl 从 v1.14 版本开始支持使用 Kustomize 管理对象,具体的使用方法类似于 CinfigMap,生成器需要被明确定义在`kustomization.yaml`文件中。 执行如下命令创建一个 kustomization.yaml 文件,在其中使用 Secret 生成器字段`secretGenerator`: ~~~bash cat <<EOF >/home/shiyanlou/kustomization.yaml secretGenerator: - name: db-user-pass files: - username.txt - password.txt EOF ~~~ 执行创建: ~~~bash $ kubectl apply -k . secret/db-user-pass-96mffmfh4k created # 生成的 secret 名称后面带有一个后缀,这样可以保证每次生成器修改之后都生成了新的 secret $ kubectl get secrets NAME TYPE DATA AGE db-user-pass-96mffmfh4k Opaque 2 80s ~~~ 也可以使用 key-value 键值对创建 Secret: ~~~bash cat <<EOF >/home/shiyanlou/kustomization.yaml secretGenerator: - name: db-user-pass literals: - username=admin - password=secret EOF ~~~ 执行创建: ~~~bash $ kubectl apply -k . secret/db-user-pass-dddghtt9b5 created ~~~ 获取详细信息: ~~~bash $ kubectl get secret db-user-pass-dddghtt9b5 -o yaml apiVersion: v1 data: password: c2VjcmV0 username: YWRtaW4= kind: Secret ...... # 将获取到的数据进行解码 $ echo 'YWRtaW4=' | base64 --decode admin ~~~ 对于一个已经存在的 Secret 可以使用命令`kubectl edit secrets xxx`更新其中的 data 字段。