Terraform 0.11

google_compute_region_instance_group_manager




terraform

google_compute_region_instance_group_manager

Google कंप्यूट इंजन रीजनल इंस्टेंस ग्रुप मैनेजर API एक सामान्य इंस्टेंस टेम्पलेट से सजातीय कंप्यूट इंजन वर्चुअल मशीन इंस्टेंस का पूल बनाता है और उसका प्रबंधन करता है। अधिक जानकारी के लिए, आधिकारिक दस्तावेज और API

उदाहरण उपयोग

resource "google_compute_health_check" "autohealing" {
  name                = "autohealing-health-check"
  check_interval_sec  = 5
  timeout_sec         = 5
  healthy_threshold   = 2
  unhealthy_threshold = 10                         # 50 seconds

  http_health_check {
    request_path = "/healthz"
    port         = "8080"
  }
}

resource "google_compute_region_instance_group_manager" "appserver" {
  name = "appserver-igm"

  base_instance_name         = "app"
  instance_template          = "${google_compute_instance_template.appserver.self_link}"
  region                     = "us-central1"
  distribution_policy_zones  = ["us-central1-a", "us-central1-f"]

  target_pools = ["${google_compute_target_pool.appserver.self_link}"]
  target_size  = 2

  named_port {
    name = "custom"
    port = 8888
  }

  auto_healing_policies {
    health_check      = "${google_compute_health_check.autohealing.self_link}"
    initial_delay_sec = 300
  }
}

तर्क संदर्भ

निम्नलिखित तर्क समर्थित हैं:

  • base_instance_name - (आवश्यक) इस समूह में इंस्टेंस के लिए उपयोग करने के लिए आधार इंस्टेंस नाम। मान एक मान्य RFC1035 नाम होना चाहिए। समर्थित वर्ण लोअरकेस अक्षर, संख्याएँ, और हाइफ़न (-) हैं। उदाहरणों को आधार उदाहरण के नाम पर एक हाइफ़न और एक यादृच्छिक चार-वर्ण स्ट्रिंग जोड़कर नाम दिया गया है।

  • instance_template - (आवश्यक) एक उदाहरण टेम्पलेट का पूरा URL जिसमें से सभी नए उदाहरण बनाए जाएंगे।

  • name - (आवश्यक) उदाहरण समूह प्रबंधक का नाम। 1-63 वर्ण लंबा होना चाहिए और RFC1035 का अनुपालन करना RFC1035 । समर्थित पात्रों में लोअरकेस अक्षर, संख्या और हाइफ़न शामिल हैं।

  • region - (आवश्यक) वह क्षेत्र जहाँ प्रबंधित उदाहरण समूह रहता है।

  • description - (वैकल्पिक) उदाहरण समूह प्रबंधक का एक वैकल्पिक पाठ्य विवरण।

  • named_port - (वैकल्पिक) नामित पोर्ट कॉन्फ़िगरेशन। कॉन्फ़िगरेशन पर विवरण के लिए नीचे दिया गया अनुभाग देखें।

  • project - (वैकल्पिक) उस परियोजना की आईडी जिसमें संसाधन है। यदि यह प्रदान नहीं किया जाता है, तो प्रदाता परियोजना का उपयोग किया जाता है।

  • update_strategy - (वैकल्पिक, डिफ़ॉल्ट "NONE" ) यदि instance_template संसाधन को संशोधित किया गया है, तो "NONE" का मान किसी भी प्रबंधित इंस्टेंसेस को Terraform द्वारा पुनरारंभ होने से रोक देगा। "ROLLING_UPDATE" का मान [बीटा सुविधा] के रूप में समर्थित है। "ROLLING_UPDATE" मान को सेट करने के लिए rolling_update_policy ब्लॉक की आवश्यकता होती है

  • target_size - (वैकल्पिक) इस प्रबंधित उदाहरण समूह के लिए चल रहे इंस्टेंस की लक्ष्य संख्या। इस मान को हमेशा स्पष्ट रूप से सेट किया जाना चाहिए जब तक कि यह संसाधन एक ऑटोस्कोलर से जुड़ा न हो, जिस स्थिति में इसे कभी सेट नहीं किया जाना चाहिए। चूक 0

  • target_pools - (वैकल्पिक) सभी लक्षित पूलों का पूरा URL जिसमें समूह में नए उदाहरण जोड़े गए हैं। लक्ष्य पूल विशेषता को अद्यतन करने से मौजूदा आवृत्तियों पर कोई प्रभाव नहीं पड़ता है।

  • wait_for_instances - (वैकल्पिक) लौटने से पहले सभी उदाहरणों को बनाने या अद्यतन करने के लिए प्रतीक्षा करें। ध्यान दें कि यदि यह सही पर सेट है और ऑपरेशन सफल नहीं होता है, तो Terraform तब तक कोशिश करता रहेगा जब तक कि यह समाप्त नहीं हो जाता।

  • auto_healing_policies - (वैकल्पिक, Beta ) इस प्रबंधित उदाहरण समूह के लिए ऑटोहलिंग नीतियां। आप केवल एक मान निर्दिष्ट कर सकते हैं। संरचना नीचे प्रलेखित है। अधिक जानकारी के लिए, आधिकारिक दस्तावेज देखें।

  • rolling_update_policy - (वैकल्पिक, Beta ) इस प्रबंधित उदाहरण समूह के लिए अद्यतन नीति। संरचना नीचे प्रलेखित है। अधिक जानकारी के लिए, आधिकारिक दस्तावेज और API

  • distribution_policy_zones - (वैकल्पिक, Beta ) इस प्रबंधित उदाहरण समूह के लिए वितरण नीति। आप एक या अधिक मान निर्दिष्ट कर सकते हैं। अधिक जानकारी के लिए, आधिकारिक दस्तावेज देखें।

रोलिंग_अपडेट_पोलिश ब्लॉक सपोर्ट करता है:

rolling_update_policy{
  type = "PROACTIVE"
  minimal_action = "REPLACE"
  max_surge_percent = 20
  max_unavailable_fixed = 2
  min_ready_sec = 50
}
  • minimal_action - (आवश्यक) - एक उदाहरण पर न्यूनतम कार्रवाई की जानी चाहिए। मान्य मूल्य "RESTART" , "REPLACE"

  • type - (आवश्यक) - अद्यतन का प्रकार। मान्य मान "OPPORTUNISTIC" , "PROACTIVE"

  • max_surge_fixed - (वैकल्पिक), अधिकतम max_surge_fixed उदाहरण जो निर्दिष्ट लक्ष्य से ऊपर बनाई जा सकती हैं, अद्यतन प्रक्रिया के दौरान। max_surge_percent साथ max_surge_percent । यह या तो 0 या कम से कम ज़ोन की संख्या के बराबर होना चाहिए। यदि निश्चित मानों का उपयोग किया जाता है, तो कम से कम एक max_unavailable_fixed या max_surge_fixed 0 से अधिक होना चाहिए।

  • max_surge_percent - (वैकल्पिक), उदाहरणों की अधिकतम संख्या (प्रतिशत के रूप में परिकलित) जो अद्यतन प्रक्रिया के दौरान निर्दिष्ट लक्ष्य से ऊपर बनाई जा सकती है। max_surge_fixed साथ max_surge_fixed । कम से कम 10 आकार वाले क्षेत्रीय प्रबंधित उदाहरण समूहों के लिए प्रतिशत मूल्य की अनुमति है।

  • max_unavailable_fixed - (वैकल्पिक), अद्यतन प्रक्रिया के दौरान उपलब्ध नहीं हो सकने वाले उदाहरणों की अधिकतम संख्या। max_unavailable_percent साथ max_unavailable_percent । यह या तो 0 या कम से कम ज़ोन की संख्या के बराबर होना चाहिए। यदि निश्चित मानों का उपयोग किया जाता है, तो कम से कम एक max_unavailable_fixed या max_surge_fixed 0 से अधिक होना चाहिए।

  • max_unavailable_percent - (वैकल्पिक), उदाहरणों की अधिकतम संख्या (प्रतिशत के रूप में परिकलित) जो अद्यतन प्रक्रिया के दौरान अनुपलब्ध हो सकते हैं। max_unavailable_fixed साथ max_unavailable_fixed । कम से कम 10 आकार वाले क्षेत्रीय प्रबंधित उदाहरण समूहों के लिए प्रतिशत मूल्य की अनुमति है।

  • min_ready_sec - (वैकल्पिक), नव निर्मित इंस्टेंस उपलब्ध होने के बाद प्रतीक्षा करने के लिए न्यूनतम सेकंड की संख्या। यह मान सीमा [0, 3600] से होना चाहिए

Name_port block सपोर्ट करता है: (प्रत्येक नाम-पोर्ट के लिए एक named_port ब्लॉक शामिल करें)।

  • name - (आवश्यक) बंदरगाह का नाम।

  • port - (आवश्यक) पोर्ट संख्या।

ऑटो_हॉलिंग_पॉलिटरी ब्लॉक सपोर्ट करता है:

  • health_check - (आवश्यक) स्वास्थ्य जांच संसाधन जो ऑटोहिंग का संकेत देता है।

  • initial_delay_sec - (आवश्यक) सेकंड की संख्या जो प्रबंधित आवृत्ति समूह प्रतीक्षा करता है इससे पहले कि वह नए उदाहरणों या हाल ही में पुन: बनाए गए उदाहरणों के लिए ऑटोहलिंग नीतियों को लागू करता है। 0 से 3600 के बीच।

संदर्भ संदर्भित करता है

ऊपर सूचीबद्ध तर्कों के अलावा, निम्नलिखित गणना की गई विशेषताएँ निर्यात की जाती हैं:

  • fingerprint - उदाहरण समूह प्रबंधक का फिंगरप्रिंट।

  • instance_group - प्रबंधक द्वारा बनाए गए इंस्टेंस समूह का पूर्ण URL।

  • self_link - निर्मित संसाधन का URL।

आयात

उदाहरण समूह प्रबंधकों को name का उपयोग करके आयात किया जा सकता है, जैसे

$ terraform import google_compute_region_instance_group_manager.appserver appserver-igm