【发布时间】:2022-02-22 16:52:24
【问题描述】:
我是 Kubernetes helm chart 的新手。有一个名为 configmap 的 yaml 文件。该文件包含与应用程序相关的所有配置。由于该文件包含大量数据,因此我试图将一些数据放入新文件并使用 FILE 对象进行访问。因此创建了两个不同的文件,其名称为:
data1.yaml 和 data2.yaml
data1.yaml 文件只有静态数据。另一方面,data2.yaml 文件包含动态数据(一些变量也像$.Values.appUrl)。
我能够使用 FILE 对象将静态文件(data1.yaml)读取到 configmap.yaml 文件。我也可以读取 data2.yaml 文件,但由于该文件还包含一些变量,因此变量值不会被实际值替换。它在 configmap 文件中打印相同的变量。所以我的问题是,
有什么方法可以访问动态文件(包含可变类型数据)?
以下是显示的示例数据。
configmap.yaml 文件是->
kind: ConfigMap
apiVersion: v1
metadata:
name: example-configmap
namespace: default
data1: {{ .File.Get "data1.yaml" | indent 2 }}
data2: {{ .File.Get "data2.yaml" | indent 2 }}
data1.yaml 文件是 ->
data1:
ui.type:2
ui.color1:red
ui.color2:green
data2.yaml 文件是 ->
system.data.name: "app-name"
system.data.url: {{ $.Values.appUrl }} # variable
system.data.type_one: "app-type-xxx"
system.data.value: "3"
system.interface.properties: |
Values.yaml 文件是 ->
appUrl: "https://app-name.com"
输出:
kind: ConfigMap
apiVersion: v1
metadata:
name: example-configmap
namespace: default
data1:
ui.type:2
ui.color1:red
ui.color2:green
data2:
system.data.name: "app-name"
system.data.url: {{ $.Values.appUrl }} # here should be "https://app-name.com"
system.data.type_one: "app-type-xxx"
system.data.value: "3"
system.interface.properties: |
【问题讨论】:
标签: kubernetes kubernetes-helm helmfile