Kubernetes Secret

base64 命令

Kubernetes 的 Secret 是使用 base64 进行编码的。以下是使用命令 base64 对字符串进行编码和解码的过程。

  • 将字符串编码为 base64 格式。echo 的 -n 选项的用处是不在字符串后添加换行符
echo -n "hello" | base64

结果为

aGVsbG8=
  • base64 解码为字符串
echo -n "aGVsbG8=" | base64 -d

结果为

hello

1. 创建 Secret

  • data 和 stringData 的键必须由字母数字字符 ‘-’, ‘_’ 或者 ‘.’ 组成;

  • 直接使用 base64 编码后的字符串;

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: YWRtaW4=
  • 使用 stringData 让 Kubernetes 自动生成 base64 字符串。并且 Kubernetes 会优先使用 stringData的数据。
apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: YWRtaW4=
stringData:
  username: administrator

执行后查看结果如下,通过解码可见 username 为 administrator

apiVersion: v1
kind: Secret
metadata:
  creationTimestamp: 2018-11-15T20:46:46Z
  name: mysecret
  namespace: default
  resourceVersion: "7579"
  uid: 91460ecb-e917-11e8-98f2-025000000001
type: Opaque
data:
  username: YWRtaW5pc3RyYXRvcg==

2. 获取详细的 Secret

  • 查看当前 Kubernetes 的所有 Secret 列表
kubectl get secrets
  • 获取某个 Secret 内具体有哪些字段,这里不会显示具体内容
kubectl describe secrets/db-user-pass

结果如下

Name:            db-user-pass
Namespace:       default
Labels:          <none>
Annotations:     <none>

Type:            Opaque

Data
====
password.txt:    12 bytes
username.txt:    5 bytes
  • 获取完整的 Secret 信息。具体使用时,将 mysecret 替换为你想查看的 Secret。获取后将对应字段的 base64 字符串解码即可。
kubectl get secret mysecret -o yaml

示例如下:

apiVersion: v1
kind: Secret
metadata:
  creationTimestamp: 2016-01-22T18:41:56Z
  name: mysecret
  namespace: default
  resourceVersion: "164619"
  uid: cfee02d6-c137-11e5-8d73-42010af00002
type: Opaque
data:
  username: YWRtaW4=
  password: MWYyZDFlMmU2N2Rm

参考

Kubernetes Secret 官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值