|NO.Z.00178|——————————|CloudNative|——|KuberNetes&配置管理.V09|——|secret.v01|通过文件创建secrets|
一、Secret
### --- Secret概述
~~~ Secret:用来保存敏感信息的,比如密码、令牌或者Key,Redis、MySQL密码。
~~~ \$ \* \\ 特殊字符单引号无需转义
### --- Secret用途:
~~~ ImagePullSecret:Pod拉取私有镜像仓库时使用的账户密码,里面的账户信息,会传递给kubelet,
~~~ 然后kubelet就可以拉取有密码的仓库里面的镜像。
### --- Secret 中文文档:
~~~ https://kubernetes.io/zh/docs/concepts/configuration/secret/

二、创建secrets,通过文件创建secrets
### --- 创建账户密码secrets
~~~ # 使用创建秘密 kubectl
~~~ 机密可以包含Pod访问数据库所需的用户凭据。
~~~ 例如,数据库连接字符串由用户名和密码组成。
~~~ 您可以将用户名存储在本地计算机上的文件中./username.txt ,
~~~ 将密码存储./password.txt在本地计算机上的文件中。
### --- 创建所需要的文件
[root@k8s-master01 secrets]# echo -n 'admin' > ./username.txt
[root@k8s-master01 secrets]# echo -n '1f2d1e2e67df' > ./password.txt
### --- 创建secrets账号密码
~~~ 该kubectl create secret命令将这些文件打包到Secret中,
~~~ 并在API服务器上创建对象。机密对象的名称必须是有效的 DNS子域名。
[root@k8s-master01 secrets]# kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt
secret/db-user-pass created
[root@k8s-master01 secrets]# kubectl get secret
NAME TYPE DATA AGE
db-user-pass Opaque 2 28s
### --- 查看创建账户密码的secrets.yaml配置文件
~~~ 查看创建的secrets.yaml配置文件
[root@k8s-master01 secrets]# kubectl get secret db-user-pass -oyaml
apiVersion: v1
data:
password.txt: MWYyZDFlMmU2N2Rm // 这是创建的文件内容;可以通过base64解密这个加密文件
username.txt: YWRtaW4= // 这是创建的文件内容;可以通过base64解密这个加密文件
kind: Secret
metadata:
creationTimestamp: "2021-04-24T13:15:53Z"
managedFields:
manager: kubectl-create
operation: Update
time: "2021-04-24T13:15:53Z"
name: db-user-pass
namespace: default
resourceVersion: "667432"
uid: 1ed1de11-e025-480b-8e07-bce2927b104b
type: Opaque
### --- 可以通过base64解密这个加密文件
~~~ 这个是加密存储的,但是可以使用base64可以解密,但是没有那么强大。
[root@k8s-master01 secrets]# echo "MWYyZDFlMmU2N2Rm" |base64 --decode
1f2d1e2e67df
[root@k8s-master01 secrets]# cat password.txt
1f2d1e2e67df
[root@k8s-master01 secrets]# echo "YWRtaW4=" |base64 --decode
admin
[root@k8s-master01 secrets]# cat username.txt
admin
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了