我具有以下春季YAML结构:
catalogParamter:
- name: kota
street: xxx
- name: yyy
street: kkkk
现在我希望这些值来自头盔图表中的YAML值
在春季YAML目录中,参数:$ {CATALOG_PARAMETER} 并在部署yaml和config yaml中定义它
以及来自值YAML的值
如何用值YAML表示catalogParamter。
答案 0 :(得分:1)
这里有不同的选项。我建议放置application.yaml in a ConfigMap。然后,您可以使用以下方法公开值文件中的属性:
properties:
catalogParamter:
- name: kota
street: xxx
- name: yyy
street: kkkk
并使用以下命令填充ConfigMap的数据部分:
data:
application.yaml: |-
{{ toYaml .Values.properties | indent 4 }}
您可以then mount that ConfigMap进入/config
目录,以便Spring Boot应用程序automatically read it。
如果改为使用环境变量,则可以使用Spring Boot的relaxed binding将复杂的属性映射到环境变量。在图表中编码该转换可能很棘手,但您的情况似乎是名称-值对,因此我认为可以通过舵的range函数来完成。
另一个不同的模式是公开option to set env vars directly to the user。但是这样做的缺点是,用户必须了解env var格式,而使用宽松的绑定可能不直观。