terraform-google-kubernetes-engine icon indicating copy to clipboard operation
terraform-google-kubernetes-engine copied to clipboard

No changes detected when adding `observability_metrics` inputs to existing cluster modules.

Open Markieta opened this issue 1 year ago • 3 comments

TL;DR

No changes are detected when adding monitoring_enable_observability_metrics and/or monitoring_observability_metrics_relay_mode to an existing private-cluster module to enable/disable Dataplane V2 Observability.

Expected behavior

Setting the following:

  monitoring_enable_observability_metrics = true
  monitoring_observability_metrics_relay_mode = "INTERNAL_VPC_LB"

should generate the advanced_datapath_observability_config for the target cluster.

And setting the following:

  monitoring_enable_observability_metrics = false

should disable it on an existing cluster (e.g., where this was previously enabled via CLI).

Observed behavior

No changes. Your infrastructure matches the configuration.

Terraform Configuration

module "gke" {
  source     = "terraform-google-modules/kubernetes-engine/google//modules/private-cluster"
  project_id = local.project_data.project_id
  name       = "${local.resource_prefix}-k8s"
  region     = local.region
  zones      = [local.zone]
  network    = module.gcp-network.network_name
  subnetwork = module.gcp-network.subnets["${local.region}/${local.resource_prefix}-primary"].name

  ip_range_services                 = module.gcp-network.subnets["${local.region}/${local.resource_prefix}-primary"].secondary_ip_range[0].range_name
  ip_range_pods                     = module.gcp-network.subnets["${local.region}/${local.resource_prefix}-primary"].secondary_ip_range[1].range_name
  remove_default_node_pool          = true
  create_service_account            = true
  grant_registry_access             = true
  enable_private_endpoint           = true
  enable_private_nodes              = true
  enable_vertical_pod_autoscaling   = true
  release_channel                   = "RAPID"
  network_policy                    = false
  datapath_provider                 = "ADVANCED_DATAPATH"
  add_master_webhook_firewall_rules = true
  gke_backup_agent_config           = true
  monitoring_enable_observability_metrics = true
  monitoring_observability_metrics_relay_mode = "INTERNAL_VPC_LB"


  master_authorized_networks = [
    {
      cidr_block   = "${local.network}",
      display_name = "main"
    }
  ]

  node_pools = [
    {
      name         = "main"
      machine_type = "e2-standard-2"
      min_count    = 1
      max_count    = 4
      spot         = true
    }
}

Terraform Version

Terraform v1.7.4
on linux_amd64
+ provider registry.terraform.io/hashicorp/google v5.18.0
+ provider registry.terraform.io/hashicorp/google-beta v5.18.0
+ provider registry.terraform.io/hashicorp/kubernetes v2.26.0
+ provider registry.terraform.io/hashicorp/random v3.6.0

Additional information

No response

Markieta avatar Mar 01 '24 18:03 Markieta

As I commented in the PR, I think this works for me. Just to be sure, could you pin the module version to make sure this isn't a caching issue.

module "gke" {
  source  = "terraform-google-modules/kubernetes-engine/google//modules/beta-private-cluster"
  version = "30.0.0"
...
}

TheKangaroo avatar Mar 04 '24 07:03 TheKangaroo

Made a PR that identifies my issue.

Markieta avatar Mar 04 '24 22:03 Markieta

Ah I see. I don't use managed prometheus, so I missed the dependency here. Thanks for fixing this :)

TheKangaroo avatar Mar 05 '24 07:03 TheKangaroo

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days

github-actions[bot] avatar May 04 '24 23:05 github-actions[bot]