google_gkeonprem_bare_metal_admin_cluster

A Google Bare Metal Admin Cluster.

Example Usage - Gkeonprem Bare Metal Admin Cluster Basic

resource "google_gkeonprem_bare_metal_admin_cluster" "admin-cluster-basic" {
  name = "my-cluster"
  location = "us-west1"
  bare_metal_version = "1.13.4"
  network_config {
    island_mode_cidr {
      service_address_cidr_blocks = ["172.26.0.0/16"]
      pod_address_cidr_blocks = ["10.240.0.0/13"]
    }
  }
  node_config {
      max_pods_per_node = 250
  }
  control_plane {
    control_plane_node_pool_config {
      node_pool_config {
        labels = {}
        operating_system = "LINUX"
        node_configs {
            labels  = {}
            node_ip = "10.200.0.2"
        }
        node_configs {
            labels  = {}
            node_ip = "10.200.0.3"
        }
        node_configs {
            labels  = {}
            node_ip = "10.200.0.4"
        }
      }
    }
  }
  load_balancer {
    port_config {
      control_plane_load_balancer_port = 443
    }
    vip_config {
      control_plane_vip = "10.200.0.5"
    }
  }
  storage {
    lvp_share_config {
      lvp_config {
        path = "/mnt/localpv-share"
        storage_class = "local-shared"
      }
      shared_path_pv_count = 5
    }
    lvp_node_mounts_config {
      path = "/mnt/localpv-disk"
      storage_class = "local-disks"
    }
  }
  node_access_config {
    login_user = "root"
  }
}

Example Usage - Gkeonprem Bare Metal Admin Cluster Full

resource "google_gkeonprem_bare_metal_admin_cluster" "admin-cluster-basic" {
  name = "my-cluster"
  location = "us-west1"
  description = "test description"
  bare_metal_version = "1.13.4"
  annotations = {
    env = "test"
  }
  network_config {
    island_mode_cidr {
      service_address_cidr_blocks = ["172.26.0.0/16"]
      pod_address_cidr_blocks = ["10.240.0.0/13"]
    }
  }
  node_config {
    max_pods_per_node = 250
  }
  control_plane {
    control_plane_node_pool_config {
      node_pool_config {
        labels = {}
        operating_system = "LINUX"
        node_configs {
          labels  = {}
          node_ip = "10.200.0.2"
        }
        node_configs {
          labels  = {}
          node_ip = "10.200.0.3"
        }
        node_configs {
          labels  = {}
          node_ip = "10.200.0.4"
        }
        taints {
          key = "test-key"
          value = "test-value"
          effect = "NO_EXECUTE"
        }
      }
    }
    api_server_args {
      argument = "test argument"
      value = "test value"
    }
  }
  load_balancer {
    port_config {
      control_plane_load_balancer_port = 443
    }
    vip_config {
      control_plane_vip = "10.200.0.5"
    }
    manual_lb_config {
      enabled = true
    }
  }
  storage {
    lvp_share_config {
      lvp_config {
        path = "/mnt/localpv-share"
        storage_class = "local-shared"
      }
      shared_path_pv_count = 5
    }
    lvp_node_mounts_config {
      path = "/mnt/localpv-disk"
      storage_class = "local-disks"
    }
  }
  node_access_config {
    login_user = "root"
  }
  security_config {
    authorization {
      admin_users {
        username = "admin@hashicorptest.com"
      }
    }
  }
  maintenance_config {
    maintenance_address_cidr_blocks = ["10.0.0.1/32", "10.0.0.2/32"]
  }
  cluster_operations {
    enable_application_logs = true
  }
  proxy {
    uri = "test proxy uri"
    no_proxy = ["127.0.0.1"]
  }
}

Argument Reference

The following arguments are supported:


The network_config block supports:

The island_mode_cidr block supports:

The control_plane block supports:

The control_plane_node_pool_config block supports:

The node_pool_config block supports:

The node_configs block supports:

The taints block supports:

The api_server_args block supports:

The load_balancer block supports:

The vip_config block supports:

The port_config block supports:

The manual_lb_config block supports:

The storage block supports:

The lvp_share_config block supports:

The lvp_config block supports:

The lvp_node_mounts_config block supports:

The proxy block supports:

The cluster_operations block supports:

The maintenance_config block supports:

The node_config block supports:

The node_access_config block supports:

The security_config block supports:

The authorization block supports:

The admin_users block supports:

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

The fleet block contains:

The status block contains:

The conditions block contains:

The validation_check block contains:

The status block contains:

The result block contains:

Timeouts

This resource provides the following Timeouts configuration options:

Import

BareMetalAdminCluster can be imported using any of these accepted formats:

In Terraform v1.5.0 and later, use an import block to import BareMetalAdminCluster using one of the formats above. For example:

import {
  id = "projects/{{project}}/locations/{{location}}/bareMetalAdminClusters/{{name}}"
  to = google_gkeonprem_bare_metal_admin_cluster.default
}

When using the terraform import command, BareMetalAdminCluster can be imported using one of the formats above. For example:

$ terraform import google_gkeonprem_bare_metal_admin_cluster.default projects/{{project}}/locations/{{location}}/bareMetalAdminClusters/{{name}}
$ terraform import google_gkeonprem_bare_metal_admin_cluster.default {{project}}/{{location}}/{{name}}
$ terraform import google_gkeonprem_bare_metal_admin_cluster.default {{location}}/{{name}}

User Project Overrides

This resource supports User Project Overrides.