前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Kubernetes(k8s)-Secret介绍

Kubernetes(k8s)-Secret介绍

作者头像
运维小路
发布2025-01-02 18:20:25
发布2025-01-02 18:20:25
8900
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。

我们上两个小节介绍了configmap,cm适合哪些明文的配置,而在实际运维中,有些信息是需要密文进行传输的,而k8s给我们我们提供了一个资源叫secret,就是用于存储密文信息。由于这个单词比较简单,所以他没有简称。

基本介绍

Secret(密码)是 Kubernetes 中用于存储敏感数据的一种机制。它可以用于存储包括密码、令牌、密钥等敏感信息,并确保这些信息在 Kubernetes 集群中的存储和传输过程中得到保护。

Secret 提供了一种安全地存储和管理敏感数据的方式,并且可以以不同的方式在容器中使用这些数据。以下是一些 Secret 的基本特点:

  1. 类型:Secret 可以存储不同类型的敏感数据,如字符串、字节流等。
  2. 存储方式:Secret 的数据可以被存储在 etcd、文件系统或内存中,具体取决于 Kubernetes 集群的配置。
  3. 加密:Secret 中的敏感数据在存储和传输过程中会被加密,提供额外的安全保障。
  4. 使用方式:从 Secret 中提取敏感数据的方式取决于应用程序的需求。它可以以环境变量、挂载文件或通过 Volume 的形式注入到容器中。
  5. 生命周期管理:Secret 可以在集群的不同命名空间中创建和使用,并且可以根据需要进行更新、删除等操作。

使用 Secret 可以有效地管理和保护敏感信息,例如数据库密码、API 密钥、证书等。它还使得将这些敏感数据与应用程序的配置分离,从而提高了应用程序的可移植性和安全性。

范例

1.命令创建secret

代码语言:javascript
代码运行次数:0
复制
kubectl create secret generic my-secret \
  --from-literal=username=admin \
  --from-literal=password=secretpassword

2.文件创建secret

代码语言:javascript
代码运行次数:0
复制
apiVersion: v1
kind: Secret
metadata:
  name: my-secret-new
type: Opaque
data:
  username: YWRtaW4=  # base64 编码后的敏感数据
  password: c2VjcmV0cGFzc3dvcmQ=  # base64 编码后的敏感数据

上面的账号和密码已经是密文,所以我们首先就需要把明文信息转换成密文信息,然后才能写入到k8s集群里面。

加密

代码语言:javascript
代码运行次数:0
复制
#下面的信息和上面的信息是可用对上的。
#下面的 -n参数也是最容易出现问题的地方。
#有兴趣的可用去对比下他们之间的区别。
[root@master01 ~]# echo -n admin |base64 
YWRtaW4=
[root@master01 ~]# echo -n secretpassword |base64 
c2VjcmV0cGFzc3dvcmQ=

解密

有的时候,我们需要把查询到的密文进行解密,所以我们还需要掌握解密的方法。

代码语言:javascript
代码运行次数:0
复制
#其实-d就是解密,不加则是加密
[root@master01 ~]# echo  c2VjcmV0cGFzc3dvcmQ= |base64 -d
secretpassword
[root@master01 ~]# echo  YWRtaW4= |base64 -d
admin
[root@master01 ~]# 

这里无论是加密还是解密,其实都是对称加密(当然加密解密还有很多,这里不展开)。也就是只需要有base64这个命令就可以同时完成加密和解密,所以虽然k8s用这个方式完成加密和解密,但是这个加密只是聊胜于无吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本介绍
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档