使用挂载为文件的Kubernetes ConfigMaps对性能有什么影响?

643ylb08  于 2023-04-29  发布在  Kubernetes
关注(0)|答案(1)|浏览(154)

所以我知道这是可能的,使用ConfigMaps这种方式带有自动更新功能,这很棒。
但是当在pod中使用这样的ConfigMap时,到底发生了什么?我们是否从磁盘读取这些实际文件?或者这些文件存储在某种内存中的fs / ETCD中?
我的代码将在每次请求时读取这些“文件”,但如果这意味着实际的磁盘操作,那就不好了。那么这是如何工作的,这有多快?

beq87vna

beq87vna1#

但是当在pod中使用这样的ConfigMap时,到底发生了什么?我们是否从磁盘读取这些实际文件?或者这些文件存储在某种内存中的fs / ETCD中?
配置图存储在ETCD数据存储中
我的代码将在每次请求时读取这些“文件”,但如果这意味着实际的磁盘操作,那就不好了。那么这是如何工作的,这有多快?
这取决于您如何使用ConfigMap。您可以在Pods中注入特定的键/值对作为环境变量,并将它们挂载为卷。
在挂载的情况下,ConfigMap s作为文件放置在Pod的临时存储中。它们只被放置一次,在Pod生命周期的开始。Pod内部运行的应用程序将直接从文件中阅读数据,以应对每个请求。
IMO,阅读方面的性能损失不会那么大,因为ETCD pod/守护程序服务沿着其余服务位于同一个k8s集群中。但是,如果您的ETCD是其他外部节点的一部分,则可能会面临网络级延迟。
查看此link以进行进一步阅读

相关问题