Secret特性
Secret与ConfigMap相比,Secret会用于存储天生敏感的数据。
Secret有如下两种特性:
Secret卷是存储在内存中的,以tmpfs格式挂载,因此,存储在其中的数据都不会写入磁盘,这样就保证数据无法被窃取;
数据存储在Secret中会被Base64编码,在传递至容器中时,会被Base64解码,无需应用程序手动解码;
Base64编码和解码
Secret会将传入的数据进行Base64编码,原因是因为Base64编码可以将二进制数据转换为纯文本,因此可以支持传入各种类型格式的文件。
通常创建Secret的方式有以下两种:
使用指令创建(优选):通过这种方式指定时,无需手动将需传入的值Base64编码,可以直接传入原生值,其会在创建Secret时,自动进行编码;
使用配置文件创建:通常在
secret.data
中指定键/值对,但是需要用户将值Base64编码后写入,当然,也可以使用secret.stringData
指定键/值对,在该字段下,可以不手动编码。
stringData字段
有时,我们传入的并不一定是二进制文件,可能只是纯文本值,这时,可以使用secret.stringData
字段设置键/值对。
拥有stringData
并不代表着只能在该字段下传入非二进制数据,在secret.data
下同样可以放置纯文本值。
Last updated
Was this helpful?