Kubernetes第十二曲 配置管理------secret与configmap

一、secret概述

加密数据并存放在etcd中,让pod的容器以挂载volume方式访问

应用场景:凭据,身份令牌

官方文档:https://kubernetes.io/docs/concepts/configuration/secret/

Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key。 将这些信息放在 secret 中比放在 Pod 的定义或者 容器镜像 中来说更加安全和灵活

Secret 是一种包含少量敏感信息例如密码、token 或 key 的对象。这样的信息可能会被放在 Pod spec 中或者镜像中;将其放在一个 secret 对象中可以更好地控制它的用途,并降低意外暴露的风险

在这里插入图片描述

1.1、 创建secret的方法

用户可以创建 secret,同时系统也创建了一些 secret。

①、内置secret

Service Account 使用 API 凭证自动创建和附加 secret

Kubernetes 自动创建包含访问 API 凭据的 secret,并自动修改您的 pod 以使用此类型的 secret。这样可以安全地访问apiserver

②、创建您自己的sercet

使用 kubectl 创建 Secret

比如有些pod需要访问数据库,这些pod需要使用的用户名和密码可以放到本地宿主机的文件里

资源参数写入到etcd中

如果有多个pod资源,都可以与一个secret建立关系

1.2 、使用secret的方法

要使用 secret,pod 需要引用 secret。

Pod 可以用两种方式使用 secret:

作为 volume 中的文件被挂载到 pod 中的一个或者多个容器里;

当 kubelet 为 pod 拉取镜像时使用。

方式一:

[root@localhost demo]# echo -n 'admin' > ./username.txt

[root@localhost demo]# echo -n '1f2d1e2e67df' > ./password.txt

[root@localhost demo]# kubectl create secret generic db-user-pass --from-file=./username.txt --from-file=./password.txt
secret/db-user-pass created

[root@localhost demo]# kubectl get secret
NAME                  TYPE                                  DATA   AGE
db-user-pass          Opaque                                2      61s

[root@localhost demo]# kubectl describe secret db-user-pass
Name:         db-user-pass
Namespace:    default
Labels:       <none>
Annotations:  <none>

Type:  Opaque

Data
====
password.txt:  12 bytes
username.txt:  5 bytes

方式二:

[root@localhost demo]# echo -n 'admin' | base64
YWRtaW4=

[root@localhost demo]# echo -n '1f2d1e2e67df' | base64
MWYyZDFlMmU2N2Rm

[root@localhost demo]# vim secret.yaml
apiVersion: v1</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值