当我在GitHub上部署时,我有两个环境,并且希望能够在我的日志中区分这两个环境,因此我有一个ENVIRONMENT
字段,它被设置为QA
或LIVE
。
下面是我如何在main.tf
中设置这些字段:
locals {
environment = {
qa = "QA"
live = "LIVE"
}
}
resource "kubernetes_manifest" "config" {
manifest = {
"apiVersion" = "v1"
"kind" = "ConfigMap"
"metadata" = {
"name" = "config"
"namespace" = "test"
}
"data" = {
"ENVIRONMENT" = local.environment[terraform.workspace],
}
}
}
这将设置configMap中的ENVIRONMENT
字段。我已经运行kubectl
命令确认了这一点,并且可以在部署的configMap中看到此字段。
然后我在application.properties
中读取这个字段,如下所示:
quarkus.log.json.additional-field."environment".value=${ENVIRONMENT:unknown}
因为这是在运行时设置的,所以当有一个configMap可供读取时,它将被设置,所以我很困惑,为什么我所有的日志仍然显示环境的unknown
?我正在使用quarkus-logging-json
进行日志记录
1条答案
按热度按时间soat7uwm1#
在我的
application.properties
中添加以下行解决了这个问题。问题似乎是configMap在容器中正确部署,但没有将值设置为quarkus中的环境变量。这一行将configMap中的所有值设置为Quarkus中的环境变量。