Kubernetes详解(四十一)——Secret创建

今天继续给大家介绍Linux运维相关知识,本文主要内容是Secret创建。

一、–from-literal参数创建

Secret创建的命令格式为:

kubectl create secret 【Secret类型】 【Secret名称】

但是根据给Secret指定数据方式的不同,我们可以有四种方法来创建Secret。
–from-literal参数可以在命令行中指定Secret具体内容。例如,执行命令:

kubectl create secret generic secret1 --from-literal=user=root --from-literal=password=root123

该命令执行结果如下:
在这里插入图片描述
从上图中可以看出,我们的Secret创建成功!

二、–from-file参数创建

除了使用–from-literal参数外,我们还可以使用–from-file参数从文件中指定Secret的具体内容。例如,我们创建username和password两个文件,并且向文件中写入内容,执行命令:

echo "root" > ./username
echo "root123" > ./password

之后,我们执行命令:

kubectl create secret generic secret2 --from-file=./username --from-file=./password 

该命令执行结果如下:
在这里插入图片描述
从上图中可以看出,我们的Secret创建成功!
使用这种类型创建时要注意,文件名为Secret的键,该文件中的具体内容为该键的值。

三、–from-env-file参数创建

–from-file参数可以允许我们将Secret的内容写入文件中,但是这种一个文件一个参数的方式还是比较麻烦。如果我们使用–from-env-file参数,就可以把Secret的所有内容写入一个文件中。
首先,我们创建env文件,并在文件中写入如下内容:
在这里插入图片描述
之后,我们执行命令:

kubectl create secret generic secret3 --from-env-file=env

该命令执行结果如下所示:
在这里插入图片描述
从上图中可以看出,我们也成功的创建了Secret。

四、清单创建

以上三种方式,我们都是使用命令行的方式来创建Secret,Secret其实也支持使用资源配置清单的方式来进行创建。但是Secret中存储的base64编码的信息,因此,我们在写资源配置清单的时候,我们首先要得到secret值得base64编码。
得到指定字符串的base64编码可以通过如下命令:

echo 【指定字符串】 | base64

例如,执行命令:

扫描二维码关注公众号,回复: 14128867 查看本文章
echo root | base64
echo root123 | base64

就可以得到root和root123的base64编码,如下所示:
在这里插入图片描述
在得到Secret值得base64编码后,我们就可以配置资源清单了,一个Secret的资源清单内容如下:

apiVersion: v1
kind: Secret
metadata:
  name: secret4
data:
  username: cm9vdAo=
  password: cm9vdDEyMwo=

该资源清单配置完成后如下所示:
在这里插入图片描述
之后,我们可以执行命令:

kubectl apply -f secret.yaml

创建该Secret,该命令执行结果如下:
在这里插入图片描述
从上图可以看出,我们的资源清单方式配置Secret成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/124486360