Terraform 0.11

google_container_node_pool




terraform

google_container_node_pool

GKE के भीतर एक नोड पूल संसाधन का प्रबंधन करता है। अधिक जानकारी के लिए आधिकारिक दस्तावेज और API

उदाहरण उपयोग

मानक उपयोग

resource "google_container_node_pool" "np" {
  name       = "my-node-pool"
  zone       = "us-central1-a"
  cluster    = "${google_container_cluster.primary.name}"
  node_count = 3
}

resource "google_container_cluster" "primary" {
  name               = "marcellus-wallace"
  zone               = "us-central1-a"
  initial_node_count = 3

  additional_zones = [
    "us-central1-b",
    "us-central1-c",
  ]

  master_auth {
    username = "mr.yoda"
    password = "adoy.rm"
  }

  node_config {
    oauth_scopes = [
      "https://www.googleapis.com/auth/compute",
      "https://www.googleapis.com/auth/devstorage.read_only",
      "https://www.googleapis.com/auth/logging.write",
      "https://www.googleapis.com/auth/monitoring",
    ]

    guest_accelerator {
      type  = "nvidia-tesla-k80"
      count = 1
    }
  }
}

एक खाली डिफ़ॉल्ट पूल के साथ उपयोग।

resource "google_container_node_pool" "np" {
  name       = "my-node-pool"
  zone       = "us-central1-a"
  cluster    = "${google_container_cluster.primary.name}"
  node_count = 1

  node_config {
    preemptible  = true
    machine_type = "n1-standard-1"

    oauth_scopes = [
      "compute-rw",
      "storage-ro",
      "logging-write",
      "monitoring",
    ]
  }
}

resource "google_container_cluster" "primary" {
  name = "marcellus-wallace"
  zone = "us-central1-a"

  lifecycle {
    ignore_changes = ["node_pool"]
  }

  node_pool {
    name = "default-pool"
  }
}

एक क्षेत्रीय क्लस्टर के साथ उपयोग

resource "google_container_cluster" "regional" {
  name   = "marcellus-wallace"
  region = "us-central1"
}

resource "google_container_node_pool" "regional-np" {
  name       = "my-node-pool"
  region     = "us-central1"
  cluster    = "${google_container_cluster.primary.name}"
  node_count = 1
}

तर्क संदर्भ

  • zone - (वैकल्पिक) वह ज़ोन जिसमें क्लस्टर रहता है।

  • region - (वैकल्पिक) वह क्षेत्र जिसमें क्लस्टर रहता है (क्षेत्रीय समूहों के लिए)।

  • cluster - (आवश्यक) के लिए नोड पूल बनाने के लिए क्लस्टर। zone क्लस्टर के लिए प्रदान किए गए zone में क्लस्टर मौजूद होना चाहिए।

नोट: आपको क्षेत्रीय समूहों के लिए क्षेत्र और ज़ोन समूहों के लिए क्षेत्र प्रदान करना चाहिए

  • autoscaling - (वैकल्पिक) क्लस्टर ऑटोसैकर द्वारा कॉन्फ़िगरेशन को मौजूदा क्लस्टर उपयोग के नोड नोड के आकार को समायोजित करने के लिए आवश्यक है। संरचना नीचे प्रलेखित है।

  • initial_node_count - (वैकल्पिक) पूल के लिए प्रारंभिक नोड गणना। इसे बदलने से संसाधन का पुन: मनोरंजन होगा।

  • management - (वैकल्पिक) नोड प्रबंधन विन्यास, जिसमें ऑटो-मरम्मत और ऑटो-अपग्रेड कॉन्फ़िगर किया गया है। संरचना नीचे प्रलेखित है।

  • name - (ऑप्शनल) नोड पूल का नाम। यदि खाली छोड़ दिया जाता है, तो Terraform एक अद्वितीय नाम स्वतः उत्पन्न करेगा।

  • name_prefix - ( name_prefix , वैकल्पिक) निर्दिष्ट उपसर्ग के साथ शुरू नोड नोड के लिए एक अद्वितीय नाम बनाता है। name साथ संघर्ष।

  • node_config - (वैकल्पिक) पूल का नोड कॉन्फ़िगरेशन। स्कीमा के लिए google_container_cluster देखें।

  • node_count - (वैकल्पिक) प्रति समूह समूह नोड्स की संख्या। इस फ़ील्ड का उपयोग प्रति समूह समूह नोड्स की संख्या को अपडेट करने के लिए किया जा सकता है, लेकिन autoscaling साथ इसका उपयोग नहीं किया जाना चाहिए।

  • project - (वैकल्पिक) नोड पूल बनाने के लिए प्रोजेक्ट की आईडी। यदि रिक्त है, तो प्रदाता-कॉन्फ़िगर प्रोजेक्ट का उपयोग किया जाएगा।

  • version - (वैकल्पिक) इस पूल में नोड्स के लिए कुबेरनेट्स संस्करण। ध्यान दें कि यदि यह फ़ील्ड और auto_upgrade दोनों निर्दिष्ट हैं, तो वे एक-दूसरे से लड़ेंगे कि नोड संस्करण क्या होना चाहिए, इसलिए दोनों को सेट करना अत्यधिक हतोत्साहित करता है।

autoscaling ब्लॉक का समर्थन करता है:

  • min_node_count - (आवश्यक) नोडपूल में नोड्स की न्यूनतम संख्या। होना चाहिए> = 1 और <= max_node_count

  • max_node_count - (आवश्यक) NodePool में नोड्स की अधिकतम संख्या। होना चाहिए = = min_node_count।

management ब्लॉक का समर्थन करता है:

  • auto_repair - (वैकल्पिक) क्या नोड्स की स्वचालित रूप से मरम्मत की जाएगी।

  • auto_upgrade - (वैकल्पिक) क्या नोड्स स्वचालित रूप से अपग्रेड हो जाएंगे।

आयात

नोड पूल को project , zone , cluster और name का उपयोग करके आयात किया जा सकता है। यदि परियोजना को छोड़ दिया जाता है, तो डिफ़ॉल्ट प्रदाता मूल्य का उपयोग किया जाएगा। उदाहरण:

$ terraform import google_container_node_pool.mainpool my-gcp-project/us-east1-a/my-cluster/main-pool

$ terraform import google_container_node_pool.mainpool us-east1-a/my-cluster/main-pool