从Terraform分配Pod的内存资源

时间:2020-05-07 19:07:17

标签: kubernetes terraform google-kubernetes-engine terraform-provider-gcp

我在GCP上有一个K8S集群,必须在其中运行数据科学工作负载。 其中有些处于“驱逐”状态,因为

该节点资源不足:内存。容器基使用的是5417924Ki,超出了其要求0。

我使用Terraform管理我的体系结构,并且知道如何管理集群自动扩展,但是即使阅读了文档,我也不知道如何在Pod级别进行管理

resource "google_container_cluster" "k8s_cluster" {
  name        = "my-cluster-name
  description = ""
  location = var.default_region
  network = var.network
  subnetwork = var.subnetwork

  initial_node_count = 1
  remove_default_node_pool = true

  ip_allocation_policy {
    # VPC-native cluster using alias IP addresses
    cluster_secondary_range_name = "gke-pods"
    services_secondary_range_name = "gke-services"
  }

  maintenance_policy {
    daily_maintenance_window {
      start_time = "03:00"
    }
  }

  master_authorized_networks_config {
    cidr_blocks {
      display_name = var.airflow.display_name
      cidr_block = var.airflow.cidr_block
    }

    cidr_blocks {
      display_name = var.gitlab.display_name
      cidr_block = var.gitlab.cidr_block
    }
  }

  network_policy {
    enabled = false
  }

  private_cluster_config {
    enable_private_endpoint = true
    enable_private_nodes = true
    master_ipv4_cidr_block = var.vpc_range_k8s_master
  }

  resource_labels = {
    zone = var.zone
    role = var.role
    env = var.environment
  }

  # Disable basic auth and client certificate
  master_auth {
    username = ""
    password = ""

    client_certificate_config {
      issue_client_certificate = false
    }
  }

  cluster_autoscaling {
    enabled = true
    resource_limits {
      resource_type = "cpu"
      minimum = 1
      maximum = 4
    }
    resource_limits {
      resource_type = "memory"
      minimum = 1
      maximum = 2
    }
  }
}

0 个答案:

没有答案