secret

secret用于保存铭感信息,比如密码、ssh-key、令牌等等

  • 存储格式:K/V键值对
  • 使用方式:环境变量和挂载(volumes)
  • 密文方式:base64
  • 创建方式:命令行创建和配置清单
  • 使用场景:
    • opaque:通用自定义数据,base64编码
    • kubernetes.io/service-account-token:用于存储SA用户认证信息
    • kubernetes.io/dockerconfigjson:用户存储docker仓库认证信息
    • kubernetes.io/tls:用于tls通讯模式认证信息
    • kubernetes.io/ssh-auth:用于ssh认证信息
    • bootstrap.kubernetes.io/token:启动引导token

存储格式

secret以K/V键值对进行存储,节点加载到内存,而存储到etcd中是明文的

  • username: secret
  • passwd: YWRtaW4K

密文方式

base64原理其实就是通过64个字符对明文进行转码,变成由64个字符组成的密文

  • base64不能算加密的一种,是明文变密文的一种方式
  • base64是可以相互推导的


使用场景
默认常见使用为opaque定义K/V键值对信息,用来存储密码、ssh-key、令牌等

  • opaque:通用自定义数据,base64编码
  • kubernetes.io/service-account-token:用于存储SA用户认证信息
  • kubernetes.io/dockerconfigjson:用户存储docker仓库认证信息
  • kubernetes.io/tls:用于tls通讯模式认证信息
  • kubernetes.io/ssh-auth:用于ssh认证信息
  • bootstrap.kubernetes.io/token:启动引导token

创建方式

命令行

kubectl create secret generic test-secret --from-literal=username=test --from-literal=passwd=test#命令行generic代表就是opaque类型,定义了2个数据
kubectl create secret generic test-secret --from-file=test
#同样也支持文件指定,k就是文件名称,v就是内容

查看yaml文件,明文的信息自动变成密文了

确认是可以推导出来的

配置清单创建secret

相比之前的参数有了几个区别

  • data:定义K/V格式数据,需要提前把数据转换成base64格式

    • 加密:echo -n test | base64
    • 解密:echo -n test | base64 -d
  • stringData:以明文方式定义K/V格式数据,创建后会自动进行格式转换
  • type:就是上面说的使用场景了,默认为Opaque
apiVersion: v1
stringData:username: testpassword: test
kind: Secret
metadata:name: test-secret
type: Opaque

查看信息,由于之前的存在,直接重叠了之前的

使用方式

  • 环境变量:spec.containers.env.valueFrom,通过valueFrom字段下的secretKeyRef进行配置

    • 缺点:导致信息无法变更或者是对于程序调用子进程是无法读取到父环境变量
  • 存储卷:spec.volumes和spec.containers.volumeMounts配合使用
    • 当已经存储于卷中被使用的 Secret 被更新时,被映射的键也将终将被更新,由kubelet 在周期性同步时检查更新
apiVersion: v1
kind: Pod
metadata:name: nginxlabels:app: nginx
spec:containers:- name: nginximage: nginx:1.19volumeMounts:- name: secretmountPath: /mnt/test-secretvolumes:- name: secretsecret:secretName: test-secret

kubectl exec nginx -it sh
ls -l /opt

查看文件是个软连接

测试修改secret信息后,发现Pod中也变化了

官方还介绍了使用其他类型,比如基于ssh认证信息,还可以设置secret的信息映射后的权限和信息个数

参考:https://v1-19.docs.kubernetes.io/zh/docs/concepts/configuration/secret/#using-secrets
参考:书籍-kubernetes进阶实战-马永亮

K8s secret配置相关推荐

  1. k8s secret使用_Java Secret:使用枚举构建状态机

    k8s secret使用 总览 Java中的枚举比许多其他语言更强大,可以导致令人惊讶的用途. 在本文中,我概述了Java 枚举的一些单独功能,并将它们放在一起形成一个状态机. 单例和实用程序类的枚举 ...

  2. k8s权限配置(ServiceAccount、Role、ClusterRole)

    一.在RBAC中的几个概念: 1.什么是RBAC RBAC全称Role-Based Access Control,是Kubernetes集群基于角色的访问控制,实现授权决策,允许通过Kubernete ...

  3. 在 k8s 中配置域名解析

    在应用开发中,我们不应把远程服务的 ip 硬编码到应用中.有些同学习惯使用域名来标定远程服务,通过修改解析,来区分开发测试和生产环境,这是一个挺好的习惯. 在 k8s 系统中,我们使用服务名来调用服务 ...

  4. k8s pod 配置模板

    # yaml格式的pod定义文件完整内容: apiVersion: v1         #必选,版本号,例如v1 kind: Pod       #必选,Pod metadata:       #必 ...

  5. linux服务器连接k8s平台配置

    前言 为避免直接在k8s的master上进行kubectl等相关行为的操作,而导致误操作k8s上master的故障,现进行在其它服务器上的操作配置 连接配置 请自行准备1台linux服务器 安装kub ...

  6. K8S 下配置 Default StorageClass (NFS)

    创建NFS共享服务(Ubuntu) apt-get install -y nfs-kernel-server # 安装nfs服务器 apt-get install -y nfs-common #安装n ...

  7. KMS加密K8S Secret技术方案研究

    寻找到相关资料和方案如下所示: 容器服务 使用 KMS 进行 Kubernetes 数据源加密-最佳实践-文档中心-腾讯云 (tencent.com) Using a KMS provider for ...

  8. k8s证书配置:为 kubelet 配置证书轮换

    概述 Kubelet 使用证书进行 Kubernetes API 的认证. 默认情况下,这些证书的签发期限为一年,所以不需要太频繁地进行更新. Kubernetes 1.8 版本中包含 beta 特性 ...

  9. k8s secret使用方式:pod通过变量和volume方式使用secret

    详解 代码 定义secret secret.yaml [root@m-1 secret]# cat secret.yaml apiVersion: v1 kind: Secret metadata:n ...

最新文章

  1. java设计模式之为别人做嫁衣----代理模式
  2. 怎么做网络推广浅析有关404页面优化的技巧
  3. Windows Server 2008服务器管理新技巧6则第4/4页
  4. 计算机无法进入桌面怎么备份,无法进入系统如何正常备份数据?
  5. 【译】Jumping into Solidity — The ERC721 Standard (Part 4)
  6. 分析BootstrapClassLoader/ExtClassLoader/AppClassLoader的加载路径 及父委托机制
  7. 搞懂C语言指针,看这篇就够了!
  8. 《零基础看得懂的C++入门教程 》——(5) 容我套个娃 循环
  9. 近期资料分享汇总,还不快来看看你漏了哪份没拿?
  10. autocomplete 属性 清除input框输入存留历史值,防止下拉历史值显示
  11. 定时器中断程序控制led闪烁
  12. Java 进阶:集合框架2
  13. pandas打印某一列_Pandas数据分析教程
  14. 是谁成全了我们在吃鸡、狼人杀里的实时互动?
  15. 根据ip地址获取时区
  16. 支付宝沙箱测试手机网站支付,提示商户合作协议已到期,无法继续使用
  17. 配置高档游戏型计算机,2021年游戏台式电脑配置推荐
  18. 林达华-和机器学习和计算机视觉相关的数学
  19. ET、LT、EPOLLONESHOT
  20. 怎么把照片精确压缩到固定KB体积大小

热门文章

  1. 20-巴基斯坦-密码(rsa)
  2. Linux——如何安装WPS
  3. Leetcode PHP题解--D58 693. Binary Number with Alternating Bits
  4. 2020-08-05:请解释下为什么鹿晗发布恋情的时候, 微博系统会崩溃,如何解决?
  5. 怎么把ppt弄成链接的形式_怎样制作ppt课件 如何将ppt转换成视频【图文详解】...
  6. 《Deep Learning (Ian Goodfellow)》深度模型的优化
  7. Linux入门,Nano文本编辑器
  8. libev和libuv的区别
  9. 在icomoon里面下载字体图标
  10. 损失函数——机器学习