# 创建Secret(使用Generator)
从 kubernetes v1.14 开始,kubectl 集成了 Kustomize (opens new window)。通过 Kustomize,您可以使用 generator(Kustomize 的概念)创建 Secret,并保存到 API Server。Generator 必须在 kustomization.yaml 文件中指定。
TIP
需要结合 Kustomize (opens new window) 一起使用,在您决定采纳 Kustomize 之前,可以暂时不看这篇文章的内容
# 从文件生成 Secret
例如,如果想从 ./username.txt 和 ./password.txt 文件生成(generate)一个 Secret,则可以:
- 执行如下指令创建 kustomization.yaml文件
# Create a kustomization.yaml file with SecretGenerator
cat <<EOF >./kustomization.yaml
secretGenerator:
- name: db-user-pass
  files:
  - username.txt
  - password.txt
EOF
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- 执行指令 - kubectl apply -k .以创建 Secret 对象,输出结果如下所示:- secret/db-user-pass-96mffmfh4k created1
- 执行指令 - kubectl get secrets以检查创建结果,输出结果如下所示:- NAME TYPE DATA AGE db-user-pass-96mffmfh4k Opaque 2 51s1
 2
- 执行指令 - kubectl describe secrets/db-user-pass-96mffmfh4k以查看 Secret 详情(请使用您自己的 Secret 名字),输出结果如下所示:- Name: db-user-pass Namespace: default Labels: <none> Annotations: <none> Type: Opaque Data ==== password.txt: 12 bytes username.txt: 5 bytes1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11- TIP - 生成的 Secret 的名字包含一个 hash 值(Secret 内容的 hash)做为后缀,这种做法可以确保每次修改 Secret 的内容时,都将产生新的 Secret 对象 
# 从明文生成 Secret
例如,如果要从明文 username=admin 和 password=secret,您可以:
- 通过如下指令创建 secret generator 的 - kustomization.yaml文件:- # Create a kustomization.yaml file with SecretGenerator cat <<EOF >./kustomization.yaml secretGenerator: - name: db-user-pass literals: - username=admin - password=secret EOF1
 2
 3
 4
 5
 6
 7
 8
- 然后执行指令 - kubectl apply -k .创建 Secret 对象,输出结果如下所示:- secret/db-user-pass-dddghtt9b5 created1
免费答疑
 微信群
微信扫码 进群发广告者死全家... 

赞赏
微信扫码 

