pod使用服务相互通信所以我的 应用程序将有一个数据库端点,比方说它用于 与数据库通信的 mongodb 服务,但是无论您通常配置这个 数据库 url 还是端点,通常您都会在应用程序属性文件中或作为某种外部环境变量进行配置,但通常它在内部应用程序的构建映像,例如,如果在这种情况下服务的端点或服务名称更改为 mongodb,则您必须在应用程序中调整该 url,因此通常您必须使用新版本重建应用程序,并且 你必须将它推送到存储库,现在你必须将新图像拉到你的 pod 中并重新启动整个事情所以对于像数据库 url 这样的小变化有点乏味
所以为此 kubernetes 有一个名为 config map 的组件 所以它的作用基本上是你对应用程序的外部配置,所以配置映射通常包含配置数据,比如数据库的 url或你使用的其他一些服务,在 kubernetes 中你只需将它连接到 pod,这样 pod 就可以实际获取数据 该配置图包含,现在如果您更改服务的名称和服务的端点,您只需调整配置图就可以了,您不必构建新图像并且现在必须经历整个周期的一部分 外部配置也可以是数据库用户名和密码权限,它们也可能在应用程序部署过程中发生变化,但是即使它是外部配置,以纯文本格式将密码或其他凭据放入配置映射中也是不安全的因此为kubernetes 具有 另一个名为 secretso secret 的组件就像配置映射一样,但不同之处在于它用于存储秘密数据凭证,例如它不是以纯文本格式存储,而是以编码格式存储在 base 64 中,但当然在编码秘密之前的基础知识,自动安全秘密组件旨在在 Kubernetes 中使用第三方工具进行加密因为 Kubernetes 不会开箱即用地加密它们并且有来自云提供商的工具或单独的第三方工具,