何时从ConfigMap使用Kubernetes env

何时从ConfigMap使用Kubernetes env,kubernetes,Kubernetes,Kubernetes能够从配置文件中设置(在部署定义中)环境变量。根据,应该只在环境变量中存储secrets/config变量,而不是在文件中 支持使用Kubernetes ConfigMap设置环境变量的参数有哪些?十二因素应用程序指南 很容易错误地将配置文件签入repo;配置文件有分散在不同位置和不同格式的趋势,这使得很难在一个位置查看和管理所有配置。此外,这些格式往往是特定于语言或框架的 您可以将ConfigMap作为卷装载到应用程序的文件系统中,但应用程序负责知道如何在应用程序启动期间读

Kubernetes能够从配置文件中设置(在部署定义中)环境变量。根据,应该只在环境变量中存储secrets/config变量,而不是在文件中


支持使用Kubernetes ConfigMap设置环境变量的参数有哪些?

十二因素应用程序指南

很容易错误地将配置文件签入repo;配置文件有分散在不同位置和不同格式的趋势,这使得很难在一个位置查看和管理所有配置。此外,这些格式往往是特定于语言或框架的

您可以将
ConfigMap
作为卷装载到应用程序的文件系统中,但应用程序负责知道如何在应用程序启动期间读取该文件。通常,在启动应用程序时读取传递的环境变量更容易

在这两种情况下(从文件读取和从环境变量读取),您都将遵循12因素应用程序建议。但是当从文件中读取配置时,我认为在其他地方运行该应用程序比较困难,因为它要求我们首先创建该文件,对于不同的平台,这是一个可能不同的过程。另一方面,传递环境变量在所有平台上通常都是相同的

能够在不同平台上轻松运行应用程序是《十二要素应用程序指南》的关键目标,因此我选择从
ConfigMap

直接传递环境变量,我认为应该用不同的措辞来避免这种混淆。重要的一点是,应用程序应该“读取”(而不是“存储”)环境中的配置,这是“语言和操作系统不可知的标准”


ConfigMaps有助于实现这一点。

这个答案对@s-g有帮助吗?