Kubernetes:(十三)secret与configmap的那些事

本文详细介绍了Kubernetes中的Secret和ConfigMap。Secret主要用于管理敏感数据,如密码和秘钥,支持多种类型,并可通过环境变量或Volume挂载到Pod。ConfigMap则用于存储非敏感配置,方便配置文件的统一管理。文中详细阐述了两种资源的创建、使用方式以及其应用场景。
摘要由CSDN通过智能技术生成

目录

一:Secret

1.1secret 简介

1.2创建及使用

1.2.1基于文件形式 

1.2.2基于参数创建secret 

1.2.3secret资源的使用方式 

二:configmap 

2.1configmap 简介

2.2创建 ConfigMap  

2.2.1基于kubectl形式

2.2.2基于变量参数形式

前言:配置管理原理

当需要修改很多配置文件时,创建一个配置资源,将配置资源挂载到各个pod当中,给pod所使用,这样就只要修改配置资源就可以了


一:Secret

1.1secret 简介

Secret 解决了密码、token、秘钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec 中。Secret 可以以 Volume 或者环境变量的方式使用。

Secret:保存加密文件 ;加密数据并存放在Etcd中,让Pod的容器以挂载Volume方式访问

secret 可选参数有三种:

  • generic: 通用类型,通常用于存储密码数据。
  • tls:此类型仅用于存储私钥和证书。
  • docker-registry: 若要保存 docker 仓库的认证信息的话,就必须使用此种类型来创建。

Secret 类型:

  • Service Account:用于被 service  account 引用。service accout 创建时 Kubernetes 会默认创建对应的 secret。Pod 如果使用了 serviceaccount,对应的 secret 会自动挂载到 Pod 的/run/secrets/kubernetes.io/serviceaccount 目录中。
  • Opaque:base64 编码格式的 Secret,用来存储密码、秘钥等。可以通过 base64 --decode 解码获得原始数据,因此安全性弱。
  • kubernetes.io/dockerconfigjson:用来存储私有 docker registry 的认证信息

Pod 需要先引用才能使用某个 secret,Pod 有 3 种方式来使用 secret:

  1. 作为挂载到一个或多个容器上的卷 中的文件。
  2. 作为容器的环境变量。
  3. 由 kubelet 在为 Pod 拉取镜像时使用。

应用场景:凭据

官方网站:

Secrets | Kubernetes

1.2创建及使用

1.2.1基于文件形式 

1.创建用户名和密码文件

[root@master ~]# echo -n 'admin' > username.txt    ##创建username文件存放用户名admin;-n:不转行输出
[root@master ~]# echo -n '123456' > password.txt   ##创建password文件存放密码123456

2.查看资源 

[root@master ~]# kubectl create secret generic db-user-pass --from-file=username.txt --from-file=password.txt    ##创以数据库形式的资源,以文件形式导入凭据存放
secret/db-user-pass created
[root@master ~]# k
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值