14.Secret资源深度剖析
Secret解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中。
1.什么是Secret?
kubernetes的secret对象可以让你存储和管理敏感信息,如密码、oauth token和ssh keys。把这些信息配置到secret里面会比在pod spec中定义更安全和灵活。
如果有兴趣,你还可以参考阅读secret的设计目的(https://git.k8s.io/community/contributors/design-proposals/auth/secrets.md)。
2.如何创建一个Secret
你同样可以采用命令行和yaml配置文件的方式,来创建一个secret。
1.命令行方式
kubectl create secret [TYPE] [NAME] [DATA]
你需要注意secret资源有以下三种[TYPE]类型:
1>docker-registry:创建一个给Docker registry容器镜像仓库使用的secret
2>generic: 从本地file, directory或者literal value创建一个 secret(这是大多数情况使用的)
3>tls: 创建一个TLS secret
[DATA]和我们上一节将configmap一样,也可以细分为
--from-literal和--from-file
2.y