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

做简易网站/最新清远发布

做简易网站,最新清远发布,lamp网站开发项目文档,动漫设计与制作就业前景怎么样一、什么是 Secret? Kubernetes(K8s)中的 Secret 是一种用于存储和管理敏感信息(如密码、令牌、证书、API 密钥等)的资源对象。它避免了将敏感数据明文写入配置文件、镜像或代码中,提供了一种更安全的方式…

一、什么是 Secret?

Kubernetes(K8s)中的 Secret 是一种用于存储和管理敏感信息(如密码、令牌、证书、API 密钥等)的资源对象。它避免了将敏感数据明文写入配置文件、镜像或代码中,提供了一种更安全的方式来处理机密信息。

二、主要用途

  • 安全需求:敏感信息(如数据库密码、API 令牌)不应以明文形式硬编码在配置文件或镜像中,否则可能导致泄露。
  • 解耦配置与代码:将敏感数据与应用逻辑分离,便于统一管理和更新。
  • 标准化管理:K8s 提供内置机制管理 Secret,支持通过 API 或命令行动态创建、更新和分发。

三、核心特性

  • 数据编码
  • 默认使用 Base64 编码存储数据(非加密,需结合其他加密手段,如 etcd 加密或外部密钥管理系统)。
  • 数据以键值对(Key-Value)形式存储,支持通过环境变量或 Volume 挂载到 Pod。
  • 作用域
  • Secret 属于特定 Namespace(命名空间),默认仅在所属 Namespace 内可见。
  • 类型
  • 常见三种内置 Secret 类型:
  • Opaque(通用型):用于存储任意键值对,默认类型。
  • kubernetes.io/service-account-token:自动为 ServiceAccount 生成的令牌,用于访问 API Server。
  • kubernetes.io/tls:用于存储 TLS 证书和私钥,供 Ingress、Service 等使用。

四、 创建 Secret 的常用方式

4.1. 通过 kubectl 命令创建

通过 kubectl 命令创建,需要为其设置命令参数。

kubectl create secret --help

  • generic:用来创建 Opaque 类型的 Secret。用于存储任意键值对。
  • tls:用来创建 kubernetes.io/tls 类型的 Secret。用于存储 TLS 证书和私钥。
  • docker-registry:若要保存 docker 仓库的认证信息的话,就必须使用此种类型来创建。

 4.1.1、直接指定字面量(适合小数据)

# 创建 Opaque 类型 Secret,键值对直接通过 --from-literal 指定
kubectl create secret generic my-secret \--from-literal=username=admin \--from-literal=password=123456

已用 Base64 编码。

 4.1.2、从文件加载(适合文件型机密,如证书、密钥)

vim username.txt
# 输入 admin
vim password.txt
# 输入 123456# 从单个文件创建(文件名作为键),值为文件内容
kubectl create secret generic db-credentials --from-file=username.txt --from-file=password.txt

 4.1.3、从目录创建(目录下所有文件作为键值对)

mkdir dir
cd dir
vim usr.txt
# 输入 admin
vim pwd.txt
# 输入 123456kubectl create secret generic app-secret --from-file=.

4.2、通过 YAML 清单创建

apiVersion: v1
kind: Secret
metadata:name: yml-secretnamespace: default
type: Opaque  # 类型,可选 Opaque、service-account-token、tls 等
data:# 键值对需手动进行 Base64 编码username: YWRtaW4=  # 明文 "admin" 的 Base64 编码password: MTIzNDU2  # 明文 "123456" 的 Base64 编码
  • 编码方法:echo -n "明文" | base64 
  • -n 不换行的意思。
  • echo -n "密文" | base64 -d
  • -d decode 的意思。

五、在 Pod 中使用 Secret

5.1、作为环境变量注入

apiVersion: v1
kind: Pod
metadata:name: secret-env-pod
spec:restartPolicy: Nevercontainers:- name: appimage: alpine:latest  imagePullPolicy: IfNotPresentcommand: ["sleep", "3600"]env:- name: DB_USERNAME  # 环境变量名valueFrom:secretKeyRef:name: my-secret  # Secret 名称key: username    # Secret 中的键- name: DB_PASSWORDvalueFrom:secretKeyRef:name: my-secretkey: password
  •  进入容器查看环境变量
kubectl exec -it secret-env-pod -- /bin/sh
/ # env

5.2、作为 Volume 挂载

apiVersion: v1
kind: Pod
metadata:name: secret-volume-pod
spec:restartPolicy: Nevervolumes:- name: secret-volumesecret:secretName: yml-secret  # 指定 Secret 名称containers:- name: appimage: alpine:latest  imagePullPolicy: IfNotPresentcommand: ["sleep", "3600"]volumeMounts:- name: secret-volume # 跟卷的名称一致mountPath: "/etc/secrets"  # 挂载路径readOnly: true  # 必须设为只读
  •   进入容器查看挂载路径
kubectl exec -it secret-volume-pod -- /bin/sh

 数据已帮我们解密。

http://www.lryc.cn/news/577664.html

相关文章:

  • 杭州 洛阳网站建设公司 网络服务/文案发布平台
  • 免费做婚礼邀请函的网站/seo有些什么关键词
  • 那网站做问答/百度搜索推广方法
  • asp网站源代码/seo最新优化技术
  • 镇江网站建设一般多少钱/推广策略有哪些方法
  • 天津省网站制作厂家/广告联盟有哪些
  • 成都微信开发小程序/seo关键词排名优化费用
  • 缔烨建设公司网站/营销广告网站
  • 新余 网站建站 设计 公司/百度销售平台
  • html页面能做成网站吗/核心关键词和长尾关键词举例
  • 网站为什么没有排名了/教育培训机构十大排名
  • 西安 网站建设/苏州关键词优化软件
  • 医院诊断证明图片在线制作/seo商学院
  • wordpress转静态页面/seo从0到1怎么做
  • 广州互邦物流网络优化建站/最好的搜索引擎
  • 手机可以做网站吗/站长工具seo综合查询5g
  • 网站速度对seo的影响/如何做网络推广人员
  • app 设计网站建设/百度搜索量
  • 郑州电力高等专科学校专业有哪些/济南seo快速霸屏
  • 担路网如何快速做网站/长沙建站工作室
  • 大米网络营销推广方案/seo数据优化教程
  • 新疆生产建设兵团五十团网站/seo推广的公司
  • 做化妆品的一些网站/搜索seo怎么优化
  • 用户浏览网站的习惯/关键词排名推广怎么做
  • 贵州网站建设费用/seo发外链工具
  • 打造公司的网站/江门网站定制多少钱
  • 网站开发的环境/刷赞网站推广ks
  • 莘庄网站建设/google入口
  • 想做个网站都需要什么/域名交易中心
  • 电脑端网站和手机网站区别/北京seo诊断