最近一直在使用Kubernetes的秘密。 现在我们也有ConfigMaps。
前进的首选方式是什么?秘密或配置地图?
P.S。经过几次迭代后,我们已经稳定了以下规则:
configMaps是每个解决方案域(可以在域内的微服务之间共享,但最终是单用途配置条目)
秘密在解决方案域之间共享,通常代表第三方系统或数据库
答案 0 :(得分:86)
我是这两个功能的作者。这个想法是你应该:
将来可能存在一些差异,例如轮换或支持秘密API w / HSM等等。一般来说,我们喜欢基于意图的API,而秘密数据与普通数据的意图明显不同旧的配置。
希望有所帮助。
答案 1 :(得分:0)
实施中的一个显着区别是kubectl apply -f
:
答案 2 :(得分:0)
ConfigMap和Secrets都将数据存储为键值对。主要区别在于,秘密以base64格式存储数据,而 ConfigMaps以纯文本格式存储数据。
如果您有一些关键数据,例如密钥,密码,服务帐户凭据,数据库连接字符串等,则应始终使用秘密,而不是Configs。
如果您想使用环境变量进行一些应用程序配置,而这些环境变量不想让您保密/隐藏,例如应用程序主题,基本平台网址等,则可以使用 ConfigMaps < / p>