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

目录

  • Secret
  • Secret的创建
  • 应用于docker私有仓库的secret
  • 其他

Secret Secret 是一种包含少量敏感信息例如密码、令牌或密钥的对象。 这样的信息可能会被放在 Pod 规约中或者镜像中。 使用 Secret 意味着你不需要在应用程序代码中包含机密数据。(这段话来自官网)
使用过程与ConfigMap类似
与ConfigMap不同的是:
ConfigMap用于明文,Secret用于加密文件,如:密码
ConfigMap是没有类型的,但是Secret有类型(type)
常用的Secret类型:
云原生自动化应用于docker仓库私有凭据secret创建
文章图片


Secret的创建 还是使用比较常用的两种方式:kubectl和配置文件方式来创建
【云原生自动化应用于docker仓库私有凭据secret创建】先创建一个实验环境:包含一个文件夹和两个文件
[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]# lspasswd.txtuser.txt

利用上面的环境创建以一个Secret
[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下的内容已经用密文表示
[root@k8s-master01 secret]# kubectl get secretsNAMETYPEDATAAGEdb-user-passOpaque268sdefault-token-7h7vkkubernetes.io/service-account-token35h51m[root@k8s-master01 secret]# kubectl get secrets db-user-pass -o yaml apiVersion: v1data:passwd.txt: MXFhejJ3c3g=user.txt: eXlhbmc=kind: Secretmetadata:creationTimestamp: "2022-03-02T07:36:41Z"name: db-user-passnamespace: defaultresourceVersion: "40252"uid: a46ab9ed-c67c-4195-a5d6-f38dfc3d2016type: Opaque

这个值是可以解密出来的:邮件前边的数据即为之前的加密数据
[root@k8s-master01 secret]# echo "MXFhejJ3c3g=" | base64 -d1qaz2wsx您在 /var/spool/mail/root 中有新邮件

kubectl方式创建效果类似,就只给出官方的例子了(注意用单引号)
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。格式如下:
我就不写具体的创建了
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同级
spec:imagePullSecrets:- name: secret-tiger-dockercontainers:- image: 私有仓库地址name: nginx

这样下载私有仓库镜像时就不需要密码了。
注意的点:注意命名空间隔离问题
还有一个常用的类型就是tls,创建方式类似,使用也类似。就不写了,我也没有合适的环境。

其他 其他方面Secret与ConfigMap相近,请看这里
ConfigMap
以上就是云原生自动化私密凭据Secret创建的详细内容,更多关于私密凭据Secret的资料请关注脚本之家其它相关文章!

    推荐阅读