小知识:云原生自动化应用于docker仓库私有凭据secret创建

Secret

Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。 这样的信息可能会被放在 Pod 规约中或者镜像中。 使用 Secret 意味着你不需要在应用程序代码中包含机密数据。(这段话来自官网)

使用过程与ConfigMap类似

与ConfigMap不同的是:

ConfigMap用于明文,Secret用于加密文件,如:密码

ConfigMap是没有类型的,但是Secret有类型(type)

常用的Secret类型:

%小知识:云原生自动化应用于docker仓库私有凭据secret创建-猿站网-插图

Secret的创建

还是使用比较常用的两种方式:kubectl和配置文件方式来创建

先创建一个实验环境:包含一个文件夹和两个文件

?
1
2
3
4
5
[root@k8s-master01 ~]# cd /secret/
[root@k8s-master01 secret]# echo -n yyang > user.txt
[root@k8s-master01 secret]# echo -n 1qaz2wsx > passwd.txt
[root@k8s-master01 secret]# ls
passwd.txt  user.txt

利用上面的环境创建以一个Secret

?
1
2
3
4
[root@k8s-master01 secret]# kubectl create secret generic db-user-pass \
> –from-file=user.txt \
> –from-file=passwd.txt
secret/db-user-pass created

查看这个secret的内容:类型为Opaque;内容中data下的内容已经用密文表示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@k8s-master01 secret]# kubectl get secrets
NAME                  TYPE                                  DATA   AGE
db-user-pass          Opaque                                2      68s
default-token-7h7vk   kubernetes.io/service-account-token   3      5h51m
[root@k8s-master01 secret]# kubectl get secrets db-user-pass -o yaml
apiVersion: v1
data:
passwd.txt: MXFhejJ3c3g=
user.txt: eXlhbmc=
kind: Secret
metadata:
creationTimestamp: “2022-03-02T07:36:41Z”
name: db-user-pass
namespace: default
resourceVersion: “40252”
uid: a46ab9ed-c67c-4195-a5d6-f38dfc3d2016
type: Opaque

这个值是可以解密出来的:邮件前边的数据即为之前的加密数据

?
1
2
[root@k8s-master01 secret]# echo “MXFhejJ3c3g=” | base64 -d
1qaz2wsx您在 /var/spool/mail/root 中有新邮件

kubectl方式创建效果类似,就只给出官方的例子了(注意用单引号)

?
1
2
3
kubectl create secret generic db-user-pass \
–from-literal=username=devuser \
–from-literal=password=S!B\*d$zDsb=

还有一种是配置文件方式,这种方式是先把账号密码之类的数据转换为加密数据,然后创建一个yaml文件,随后执行yaml文件;这种方法比较麻烦就不说了,可以看一下官方的例子:

使用配置文件创建Secret

应用于docker私有仓库的secret

pull私有仓库的镜像时需要验证的情况,可以为docker私有仓库创建相应的secret。格式如下:

我就不写具体的创建了
?
1
2
3
4
5
kubectl create secret docker-registry secret-tiger-docker \
–docker-username=user \
–docker-password=pass113 \
–docker-email=tiger@acme.com \
–docker-server=string

以上几项内容分别的仓库的用户名、密码、邮箱和仓库地址

当你创建完这个secret后使用的时候可以放在spec下,与containers同级

?
1
2
3
4
5
6
spec:
imagePullSecrets:
– name: secret-tiger-docker
containers:
– image: 私有仓库地址
name: nginx

这样下载私有仓库镜像时就不需要密码了。

注意的点:注意命名空间隔离问题

还有一个常用的类型就是tls,创建方式类似,使用也类似。就不写了,我也没有合适的环境。

其他

其他方面Secret与ConfigMap相近,请看这里

ConfigMap

以上就是云原生自动化私密凭据Secret创建的详细内容,更多关于私密凭据Secret的资料请关注服务器之家其它相关文章!

原文链接:https://yyang.blog.csdn.net/article/details/123230018

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:k8s的包管理工具helm使用简介

2023-3-9 11:02:32

建站知识

小知识:云原生技术持久化存储PV与PVC

2023-3-9 11:16:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索