kubernetes基础知识之secret的实用技巧

B站影视 内地电影 2025-06-08 06:34 2

摘要:一般使用kubectl describe secret 打印出来的key是明文的,value是密文的。

kubernetes secret的资源清单文件secret.yaml

apiVersion: v1

kind: Service

metadata:

name: musecret

namespace: default

type: Opaque

password: MTIzCg==

username: YWRtaW4K

通过资源清单文件,创建secret:

kubectl create -f secret.yaml

查看secret:

kubectl get secret -n default

描述secret:

kubectl describe secret mysecret -n default

一般使用kubectl describe secret 打印出来的key是明文的,value是密文的。

但是使用:

kubectl get cm $configmap_name -n $namespace_name

打印出来的cm都是明文的。

如果想要获取secret的内容,可以把资源清单文件输出为yaml:

kubectl get secret mysecret -n default -o yaml

想要获取secret对象数据中的key对应的明文,可以通过base64算法去解密:

echo -n "密文" | base64 --decode

这样就得到了我们要用的数据或者数据本身。

通过base64算法进行加密和解密的过程是可逆的。

所以对于运维工程师来说,可以通过一条命令把隐藏的密文进行解密,把数据给还原回来。

所以不能把secret对象当成唯一的安全手段。

对于有些数据库密码,密码要求不太严格的,可以放到secret里面,使用起来比configmap更安全一些,但是当成安全的唯一手段,还是不建议这么使用的,Secret增强了获取密码的难度。编码不是加密,可防君子,不可防小人。

繁花似锦

鼓励的话语:所有的隐忍,都是为了未来的腾飞!

来源:春蕾教育

相关推荐