首页 > 解决方案 > 如何使用 terraform 为自动创建的 GKE 集群和服务防火墙规则启用 Logconfig

问题描述

在 Terraform 中,我在防火墙模块中启用了日志记录,并在 GCP 中创建了 3 个自定义防火墙规则,一旦应用 terraform,logconfig 就会设置为 true。如果我触发gcloud compute firewall-rules list --format="table(name,logConfig)"命令,我的自定义防火墙规则将 LOG_CONFIG 显示为“启用”:True,而自动创建的 GKE 集群和服务防火墙规则显示为 False。

从控制台/命令行手动我可以将 GKE 集群和服务防火墙规则更新为 true,而通过 terraform 我找不到解决方案。我在 GCP https://cloud.google.com/kubernetes-engine/docs/concepts/firewall-rules中找到了有关自动创建的防火墙规则的文档,但发现自动启用日志配置。

任何人都可以为我提供解决方案。

目前我正在使用此防火墙规则及其为我的自定义规则启用 logconfig。

resource "google_compute_firewall" "default" {
  name    = "sample"
  network = "sample-network"
  project = "sample-project"
  enable_logging = "true"

  allow {
    protocol  = var.proto
    ports     = var.ports
  }
  
 log_config {
   metadata = "INCLUDE_ALL_METADATA"
  }

  source_tags   = var.sourceTags
  source_ranges = var.sourceRanges
  target_tags   = var.targetTags
}

标签: kubernetesterraformfirewallterraform-provider-gcp

解决方案


我认为您链接的文档有解决方案:

https://cloud.google.com/kubernetes-engine/docs/concepts/firewall-rules

如果您想更好地控制防火墙行为,您可以创建具有更高优先级的防火墙规则。在自动创建的防火墙规则之前应用具有更高优先级的防火墙规则。


推荐阅读