一.Secret(加密处理)
- Secret字段的意义是加密数据并且存入etcd中,让Pod的容器以挂载volume方式访问。
- 使用Secret字段可以存储和管理敏感信息。例如,密码、令牌和ssh密钥等。相比于将这些信息存储在普通文件中,在机密信息中存储更加安全,灵活。
- 设置Secret加密处理时,可以通过kubectl命令创建,也可以通过yaml文件创建
- 以下时Secret应用解析图

- 方式一:使用文件传入参数,并且通过kubectl创建资源
[root@master ~]# echo 'admin' > ./username.txt
[root@master ~]# echo '123abc' > ./password.txt
//secret表示控制器类型,generic为从本地文件或者目录创建一个机密
[root@master ~]# kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt
secret/db-user-pass created
//查看secret类型下的资源
[root@master ~]# kubectl get secret
NAME TYPE DATA AGE
db-user-pass Opaque 2 13s
default-token-h4tl7 kubernetes.io/service-account-token 3 26d
//查看db-user-pass的详细信息
[root@master ~]# kubectl describe secret db-user-pass
Name: db-user-pass
Namespace: default
Labels: <none>
Annotations: <none>
Type: Opaque
Data
====
password.txt: 7 bytes ##可见在secret模式下,不能明文显示导入的参数
username.txt: 6 bytes
[root@master ~]#
- 方式二:使用加密数据导入资源,并且通过编辑yaml文件创建资源
##将数据加密,并且存储到加密资源中去
[root@master ~]# echo -n 'admin' | base64
YWRtaW4=
[root@master ~]# echo -n '123abc' | base64
MTIzYWJj
[root@master ~]# cat secret.yaml
ap