【CKA考试笔记】七、密码管理

实验环境

完成初始化集群的环境:
(vms21)192.168.26.21——master1
(vms22)192.168.26.22——worker1
(vms23)192.168.26.23——worker2

我们创建pod的时候,有些pod里是需要去引用密码的,如容器里用到mysql,则需要去指定mysql密码,等等这些密码在pod里是以引用的方式来存储的,这样或多或少会有安全隐患,因此,我们需要有更好的方案去管理密码

一、secret

secret里的存储的数据都是以键值对的方式存储的(键=值)

1.创建

a.命令行方式创建(推荐)

方式一:创建secret,并赋上键值对

#--from-literal后的“=”可以省略
kubectl create secret generic [secret名字] --from-literal=[]=[]
#可以有多个键值对
kubectl create secret generic [secret名字] --from-literal=[]=[] --from-literal=[]=[]

方式二:以一个文件路径的方式存储
以文件路径存储时,会以路径的basename作为键,以文件的内容作为值
什么是basename,什么是dirname?
basename——一个路径的最后一部分
dirname——一个路径除了basename的部分
如一个文件的路径为 “/usr/share/doc/pam-1.1.8/txts/README.pam_access”

basename /usr/share/doc/pam-1.1.8/txts/README.pam_acces
#输出:
README.pam_acces

dirname /usr/share/doc/pam-1.1.8/txts/README.pam_acces
#输出:
/usr/share/doc/pam-1.1.8/txts

以路径方式存储:

kubectl create secret generic [secret名字] --from-file [路径] --from-file [路径]

#例:
kubectl create secret generic mysecret2 --from-file /etc/hosts --from-file /etc/issue
#如以上,键=hosts、值=文件的内容,键=issue、值=文件的内容

b.通过yaml文件创建

通过命令行导出yaml文件模板

kubectl create secret generic [secret名字] --from-literal=[]=[] --dry-run=client -o yaml

例1:

kubectl create secret generic mysecret1 --from-literal=x=1

2.删除secret

kubectl delete secret [secret名]

3.查看secret

列出所有secret

kubectl get secrets

查看secret属性

kubectl describe secret [secret名字]

#如上例1创建的mysecret1的属性输出
Name:         mysecret1
Namespace:    default
Labels:       <none>
Annotations:  <none>

Type:  Opaque

Data
====
x:  1 bytes

describe中能看到的信息只有“键: 值的大小”(如例1的x: 1bytes)
若想查看值具体是多少(通过base64编码过后的值),则使用:

kubectl get secrets [secret名字] -o yaml

#如例1:
apiVersion: v1
data:
  x: MQ==
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴陵FL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值