具有地形和头盔的外部部署配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有地形和头盔的外部部署配置相关的知识,希望对你有一定的参考价值。

我对terraform还是很陌生,所以我的问题可能很幼稚,但仍然不知道如何解决。我有一个使用helm_release(https://www.terraform.io/docs/providers/helm/r/release.html)的Terraform脚本,问题是我在单独的git存储库中有部署配置。假设:https://project.git/configuration。我想实现的是能够添加例如https://project.git/configuration/dev(用于开发环境部署)到配置映射。terraform模块的结构为:

+project
+-helm
+--templates
+---configmap.yaml
+---deployment.yaml
+---ingress.yaml
+---service.yaml
+--chart.yaml
+--values.yaml
+-helm.tf
+-other tf files

我需要将配置库中的所有文件放置在下面

+project
+-helm
+--configuration

只有那样我才能使用此:

apiVersion: v1
kind: ConfigMap
metadata:
...
data:
{{- (.Files.Glob "configuration/*").AsConfig | nindent 2 }}

在我的configmap.yaml中,掌舵人要求将这些文件放置在图表目录中。

答案

您只能将Helm .Files机制用于实际上与图表捆绑在一起的文件,而不能用于要注入的外部配置。

如果您打算使用Terraform来管理所有内容,一种选择是让Terraform创建具有所需文件内容的kubernetes_config_map,并将对该${kubernetes_config_map.with_the_files.name}的引用传递到Helm图表。

[如果您想主要使用Helm,但是要从外部传递文件,则可以将它们作为值传递。如果您具有Helm values.yaml语法:

configFiles:
  test.yaml: |
    key: value
    key2: value2

您可以将其发送到ConfigMap中。您可以在configFiles上进行迭代,也可以使用记录较浅的Helm toYaml扩展名来呈现整个内容。

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ template "mychart.name" . }}
data:
{{ .Values.configFiles | toYaml | indent 2 }}

完成后,您可以通过helm install --set选项或等效的Terraformhelm_releaseset_string设置将它们传递给您:

set_string

以上是关于具有地形和头盔的外部部署配置的主要内容,如果未能解决你的问题,请参考以下文章

一文读懂如何部署具有外部数据库的高可用 K3s

如何从片段外部清除/重置地图?

从片段着色器中的地形高程数据计算法线

logo是个头盔的编程语言叫啥

使用YMIR生产基于yolov5的头盔检测模型

[Ogre][地形][原创]基于OgreTerrain的地形实现