当前位置: 首页 > news >正文

Kubernetes 之 Secret

Kubernetes 之 Secret

Secret 的定义

Secret 解决了密码、token、秘钥等敏感数据的配置问题,它避免了把这些敏感数据直接暴露在镜像或者 Pod 的配置文件中。但是它只是一种相对安全的策略,我们还是可以在容器内找到这些信息。

Secret 的认证方式

认证方式描述
Generic用来给通用字符串进行加密
TLS用来加密 HTTPS、SSH 等密钥
Docker Registry用来加密 Docker 仓库登录凭证

Secret 的使用

Secret 也存在多种加密类型,我们用其最常见的Base64加密方式Opaque

apiVersion: v1
kind: Secret
metadata:name: secret-mysql
type: Opaque
data:MYSQL_ROOT_PASSWORD: Q2hhbmdlTWU=
root@k8s-master1:~# kubectl describe secret/secret-mysql
Name:         secret-mysql
Namespace:    default
Labels:       <none>
Annotations:  <none>Type:  OpaqueData
====
MYSQL_ROOT_PASSWORD:  8 bytes
apiVersion: v1
kind: Pod
metadata:name: pod-secret
spec:containers:- name: secret-testimage: busyboxcommand: [ "/bin/sh", "-c", "sleep 3600" ]env:- name: MYSQL_ROOT_PASSWORDvalueFrom:secretKeyRef:name: secret-mysqlkey: MYSQL_ROOT_PASSWORDvolumeMounts:- name: volume-secretmountPath: /etc/mysqlvolumes:- name: volume-secretsecret:secretName: secret-mysqlrestartPolicy: Never
root@k8s-master1:~# kubectl exec -it pod-secret -- /bin/sh
/ # env
KUBERNETES_PORT=tcp://10.96.0.1:443
KUBERNETES_SERVICE_PORT=443
HOSTNAME=pod-secret
SHLVL=1
HOME=/root
MYSQL_ROOT_PASSWORD=ChangeMe
TERM=xterm
KUBERNETES_PORT_443_TCP_ADDR=10.96.0.1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KUBERNETES_PORT_443_TCP_PORT=443
KUBERNETES_PORT_443_TCP_PROTO=tcp
KUBERNETES_PORT_443_TCP=tcp://10.96.0.1:443
KUBERNETES_SERVICE_PORT_HTTPS=443
KUBERNETES_SERVICE_HOST=10.96.0.1
PWD=/
/ # cat /etc/mysql/MYSQL_ROOT_PASSWORD
ChangeMe
/ #

相关文章:

  • App开发前端开发语言:深度解析与应用探索
  • MySQL—函数—函数小结
  • 民国漫画杂志《时代漫画》第33期.PDF
  • 必看——怎么让网站实现HTTPS访问?
  • 用java实现客服聊天+网络爬虫下载音乐(java网络编程,io,多线程)
  • 安卓组合控件(底部标签栏、顶部导航栏、增强型列表、升级版翻页)
  • Java 内存模型
  • Java中的JDBC如何连接数据库并执行操作
  • Windows API 速查
  • 每日一题——Java编程练习题
  • Vue3集成Phaser-飞机大战游戏(设计与源码)
  • 基于深度学习的音乐合成算法实例
  • LangChain学习之四种Memory模式使用
  • 基于springboot+vue的医院信息管理系统
  • 计算机毕业设计 | 基于Koa+vue的高校宿舍管理系统宿舍可视化系统
  • [deviceone开发]-do_Webview的基本示例
  • Docker容器管理
  • JavaScript DOM 10 - 滚动
  • python_bomb----数据类型总结
  • Python利用正则抓取网页内容保存到本地
  • Quartz初级教程
  • React Transition Group -- Transition 组件
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 大数据与云计算学习:数据分析(二)
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 无服务器化是企业 IT 架构的未来吗?
  • 一个SAP顾问在美国的这些年
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ‌移动管家手机智能控制汽车系统
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (30)数组元素和与数字和的绝对差
  • (java)关于Thread的挂起和恢复
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (算法)硬币问题
  • (五)网络优化与超参数选择--九五小庞
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .htaccess配置重写url引擎
  • .NET CF命令行调试器MDbg入门(一)
  • .Net Core 生成管理员权限的应用程序
  • .Net 基于IIS部署blazor webassembly或WebApi
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .NET下的多线程编程—1-线程机制概述
  • .NET中的Exception处理(C#)
  • @font-face 用字体画图标
  • @PostConstruct 注解的方法用于资源的初始化
  • [20170713] 无法访问SQL Server