kubernetes集群之Secret配置管理
- 一、了解Secret
- 1. 什么是Secret
- 2. secret的使用
- 3. secret的类型
- 二、Secret的部署
一、了解Secret
1. 什么是Secret
Secret是用来保存小片敏感数据的k8s资源,例如密码,token,或者秘钥。这类数据当然也可以存放在Pod或者镜像中,但是放在Secret中是为了更方便的控制如何使用数据,并减少暴露的风险。
用户可以创建自己的secret,系统也会有自己的secret。
Pod需要先引用才能使用某个secret,Pod有2种方式来使用secret:作为volume的一个域被一个或多个容器挂载;在拉取镜像的时候被kubelet引用。
2. secret的使用
Pod 可以用两种方式使用 secret:
a. 作为 volume 中的文件被挂载到 pod 中的一个或者多个容器里。
b. 当 kubelet 为 pod 拉取镜像时使用。
3. secret的类型
二、Secret的部署
- 创建Secret
从文件中创建Secret
Opaque Secret 其value为base64编码后的值。
如果密码具有特殊字符,则需要使用 \ 字符对其进行转义,执行以下命令:
默认情况下 kubectl get和kubectl describe 为了安全是不会显示密码的内容,可以通过以下方式查看:
2.编写一个 secret 对象
vim secret.yaml
将Secret挂载到Volume中,向指定路径映射 secret 密钥
- 将Secret设置为环境变量
更改密钥
先生成二进制密钥
更改文件内容:
手动更新:
4. kubernetes.io/dockerconfigjson
用于存储docker registry的认证信息
在harbor私有仓库中新建westos项目,将项目设置为不公开,这样我们在不指定拉取路径时集iu无法拉取:
编写认证文件:
就可以拉取成功!!!!