问题描述
resource "google_compute_instance_template" "envoy_instance_template" {
disk {
source_image = "gce-uefi-images/cos-stable"
disk_size_gb = var.disk_size
disk_type = var.disk_type
boot = true
}
Metadata = {
gce-container-declaration = yamlencode({
apiVersion = "v1",kind = "Pod",Metadata = {
name = "envoy"
}
spec = {
containers = [{
name = "envoy",image = "myimage",imagePullPolicy = "Always",ports = {
containerPort = "443",hostPort = "443",},env = [
{
name = "ENVOY_CONfig",value = templatefile("${path.module}/envoy.tmpl",{
routes = var.envoy_config.routes
clusters = var.envoy_config.clusters
}),}
]
}]
}
})
google-logging-enabled = "TRUE"
enable-oslogin = "TRUE"
}
我只是想在gce-uefi-images/cos-stable
之上启动一个docker容器。
通过上面的代码,上面的操作按预期开始。
但是,当容器启动时,ENVOY_CONfig
中的换行符和缩进消失了。
templatefile
函数可以正常工作,并生成预期的yaml
文件。
但是,在容器ENVOY_CONfig
内会丢失所有缩进。
我尝试使用yamlencode
,但它也不起作用。
在环境变量ENVOY_CONfig
中保留yaml文件内容(缩进和换行符)的正确方法是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)