k8数据持久化之秘密

  
  

一、
秘密资源对象:解决了密码,令牌,密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod规范中.Secret可以以体积或者环境变量的方式使用。
用来保存一些敏感信息,比如数据库的用户名密码或者密钥。
秘密有三种类型:
1。服务帐户:用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到豆荚的/跑步/机密/kubernetes.io/serviceaccount目录中。
2.不透明:base64编码格式的秘密,用来存储密码,密钥等。
3. Kubernetes。io/dockerconfigjson:用来存储私有码头工人注册中心的认证信息。

     

二,以实验测试的方式,创建4种秘密资源。
姓名:类=磅
密码:密码=www.com
创建2个吊舱,分别以挂载卷的方式,和以环境变量env的方式去使用,secret2,和secret4。

  
 <代码> 1)通过——文字(文字的):
  kubectl创建泛型* * lbssecret1秘密(创建秘密资源的名)* *——文字=类=磅——文字=密码=www.comww.com
  泛型:通用的,一般的。加密方式。
  查看秘密资源
  5. kubectl得到秘密
  6.名称类型数据时代
  7.lbssecret1不透明2 24 s
  使用描述可以查看秘密资源的详细信息。* *(可以看到是以密文的方式存储)* *
  1 kubectl描述lbssecret1秘密
  2.名称:lbssecret1
  3.名称空间:默认
  4.标签:& lt; none>
  5.注释:& lt; none>
  6.
  7.类型:不透明的
  8.
  9.数据
  10====11.类:3个字节#只能查看到数据的大小,无法查看到数据内容。
  12.密码:7字节
  2)通过——从文件(文件):(* *这种方式不推荐使用,需要将存储的数据写入到文件中,注意每个文件只能存储一个数据。)* *
  回声磅在类
  回声www.com祝辞密码
  kubectl创建通用lbssecret2秘密——从文件=类——从文件=密码
  查看:
  1.kubectl描述秘密lbssecret2
  2.名称:lbssecret2
  3.名称空间:默认
  4.标签:& lt; none>
  5.注释:& lt; none>
  6.
  7.类型:不透明的
  8.
  9.数据
  10====11.类:4字节
  12.密码:8个字节
  3)通过——from-env-file: * *(这种方式可以在同一个文件内写入多个数据。)* *
  vim lbs.txt
  类=磅
  密码=www.com(保存退出)
  
  kubectl创建通用mysecret3秘密——from-env-file=lbs.txt
  查看:
  1.kubectl描述秘密lbssecret3
  2.名称:lbssecret3
  3.名称空间:默认
  4.标签:& lt; none>
  5.注释:& lt; none>
  6.
  7.类型:不透明的
  8.
  9.数据
  10====11.类:3个字节
  12.密码:7字节
  4)通过yaml配置文件的方式。(把需要保存的数据加密)
  回声磅| base64
  回声www.com | base64
  
  vim lbssecret4.yaml
  apiVersion: v1
  :秘密
  元数据:
  名称:mysecret4
  数据:
  类:#编译的磅
  密码:#编译的www.com
  执行文件:
  kubectl应用- f lbssecret4.yaml
  1.kubectl描述秘密lbhsecret4
  2.名称:lbhsecret4
  3.名称空间:默认
  4.标签:& lt; none>
  5.注释:
  6.类型:不透明的
  7.
  8.数据
  9。====10.密码:8个字节
  11.类:4字节 
  

<>强创建2个吊舱,分别以挂载的方式,和以环境变量的方式去使用,secret2,和secret4。

  
 <代码> 1)以卷挂载的方式:使用lbssecret2。
  vim pod1.yaml
  apiVersion: v1
  :豆荚
  元数据:
  名称:lbspod1
  规范:
  容器:
  ——名称:lbspod
  busybox映像:
  参数:
  ——/bin/sh
  - - - - - - - c
  睡300000年
  volumeMounts:
  ——名称:secret-lbs
  mountPath:“/etc/secret-lbs”挂在到舱容器内的路径
  只读的:真
  卷:
  ——名称:secret-lbs
  秘密:
  secretName: lbssecret2  
  

执行yaml文件,查看豆荚状态:1。[root@master lbhsecret] # - f pod1 kubectl适用。yaml
br/> 1。[root@master lbhsecret] # - f pod1 kubectl适用。yaml
查看:
3。kubectl得到pod
4。姓名就绪状态重启年龄
5。lbspod1 1/1 0 26 s
运行进入豆荚内,挂载的路径中。使用猫查看类姓名,密码(猫类)查看数据是否挂载成功。(可以发现会自动帮助解密)
2)以环境变量的方式:使用lbssecret4。

  
 <代码> vim pod2.yaml
  apiVersion: v1
  :豆荚
  元数据:
  名称:lbspod2
  规范:
  容器:
  ——名称:lbspod
  busybox映像:
  参数:
  ——/bin/sh
  - - - - - - - c
  睡300000年
  env:
  ——名称:SECRET_CLASS #容器内的变量名
  valueFrom:
  secretKeyRef: #提取环境变量的值
  名称:lbssecret4 #调用秘密资源的lbssecret4
  关键:调课时用lbssecret4对应的类的值
  ——名称:SECRET_PASSWORD
  valueFrom:
  secretKeyRef:
  名称:lbssecret2
  关键:密码

k8数据持久化之秘密