Yaml terraform kubernetes提供程序的多行字符串注释

Yaml terraform kubernetes提供程序的多行字符串注释,yaml,terraform,terraform-provider-kubernetes,Yaml,Terraform,Terraform Provider Kubernetes,我想使用terraform为kubernetes设置一个API网关。有几种方法可以配置大使。根据,推荐的方法是为集群外部路由和公开的每个服务使用kubernetes注释。使用kubernetes yaml配置可以轻松完成此操作: kind: Service apiVersion: v1 metadata: name: my-service annotations: getambassador.io/config: | --- apiVersion: a

我想使用terraform为kubernetes设置一个API网关。有几种方法可以配置大使。根据,推荐的方法是为集群外部路由和公开的每个服务使用kubernetes注释。使用kubernetes yaml配置可以轻松完成此操作:

kind: Service
apiVersion: v1
metadata:
  name: my-service
  annotations:
    getambassador.io/config: |
      ---
        apiVersion: ambassador/v0
        kind:  Mapping
        name:  my_service_mapping
        prefix: /my-service/
        service: my-service
spec:
  selector:
    app: MyApp
  ports:
  - protocol: TCP
    port: 80
    targetPort: 9376

|
开头的
getambassador.io/config
字段的值表明它是一个多行字符串值。如何使用terraform HCL实现同样的效果?

terraform文档包含一个关于使用
的多行字符串的文档terraform文档包含一个关于使用
的多行字符串的文档
resource "kubernetes_service" "my-service" {
  "metadata" {
    name = "my-service"
    annotations {
      "getambassador.io/config" = <<EOF
        apiVersion: ambassador/v0
        kind:  Mapping
        name:  my_service_mapping
        prefix: /my-service/
        service: my-service
        EOF
    }
  }
  "spec" {
    selector {
      app = "MyApp"
    }
    port {
      protocol = "TCP"
      port = 80
      target_port = "9376"
    }
  }
}