Terraform 0.11

openstack_lb_pool_v1




terraform

openstack_lb_pool_v1

ओपनस्टैक के भीतर एक V1 लोड बैलेंसर पूल संसाधन का प्रबंधन करता है।

उदाहरण उपयोग

resource "openstack_lb_pool_v1" "pool_1" {
  name        = "tf_test_lb_pool"
  protocol    = "HTTP"
  subnet_id   = "12345"
  lb_method   = "ROUND_ROBIN"
  lb_provider = "haproxy"
  monitor_ids = ["67890"]
}

पूरा लोड संतुलन स्टैक उदाहरण

resource "openstack_networking_network_v2" "network_1" {
  name           = "network_1"
  admin_state_up = "true"
}

resource "openstack_networking_subnet_v2" "subnet_1" {
  network_id = "${openstack_networking_network_v2.network_1.id}"
  cidr       = "192.168.199.0/24"
  ip_version = 4
}

resource "openstack_compute_secgroup_v2" "secgroup_1" {
  name        = "secgroup_1"
  description = "Rules for secgroup_1"

  rule {
    from_port   = -1
    to_port     = -1
    ip_protocol = "icmp"
    cidr        = "0.0.0.0/0"
  }

  rule {
    from_port   = 80
    to_port     = 80
    ip_protocol = "tcp"
    cidr        = "0.0.0.0/0"
  }
}

resource "openstack_compute_instance_v2" "instance_1" {
  name            = "instance_1"
  security_groups = ["default", "${openstack_compute_secgroup_v2.secgroup_1.name}"]

  network {
    uuid = "${openstack_networking_network_v2.network_1.id}"
  }
}

resource "openstack_compute_instance_v2" "instance_2" {
  name            = "instance_2"
  security_groups = ["default", "${openstack_compute_secgroup_v2.secgroup_1.name}"]

  network {
    uuid = "${openstack_networking_network_v2.network_1.id}"
  }
}

resource "openstack_lb_monitor_v1" "monitor_1" {
  type           = "TCP"
  delay          = 30
  timeout        = 5
  max_retries    = 3
  admin_state_up = "true"
}

resource "openstack_lb_pool_v1" "pool_1" {
  name        = "pool_1"
  protocol    = "TCP"
  subnet_id   = "${openstack_networking_subnet_v2.subnet_1.id}"
  lb_method   = "ROUND_ROBIN"
  monitor_ids = ["${openstack_lb_monitor_v1.monitor_1.id}"]
}

resource "openstack_lb_member_v1" "member_1" {
  pool_id = "${openstack_lb_pool_v1.pool_1.id}"
  address = "${openstack_compute_instance_v2.instance_1.access_ip_v4}"
  port    = 80
}

resource "openstack_lb_member_v1" "member_2" {
  pool_id = "${openstack_lb_pool_v1.pool_1.id}"
  address = "${openstack_compute_instance_v2.instance_2.access_ip_v4}"
  port    = 80
}

resource "openstack_lb_vip_v1" "vip_1" {
  name      = "vip_1"
  subnet_id = "${openstack_networking_subnet_v2.subnet_1.id}"
  protocol  = "TCP"
  port      = 80
  pool_id   = "${openstack_lb_pool_v1.pool_1.id}"
}

तर्क संदर्भ

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

  • region - (वैकल्पिक) V2 नेटवर्किंग क्लाइंट प्राप्त करने के लिए क्षेत्र। एलबी पूल बनाने के लिए एक नेटवर्किंग क्लाइंट की आवश्यकता होती है। यदि छोड़ दिया जाता है, तो प्रदाता के region तर्क का उपयोग किया जाता है। इसे बदलने से एक नया LB पूल बनता है।

  • name - (आवश्यक) पूल का नाम। इसे बदलने से मौजूदा पूल का नाम अपडेट होता है।

  • protocol - (आवश्यक) पूल सदस्यों द्वारा उपयोग किया जाने वाला प्रोटोकॉल, आप 'टीसीपी,' एचटीटीपी 'या' एचटीटीपीएस 'का उपयोग कर सकते हैं। इसे बदलने से एक नया पूल बनता है।

  • subnet_id - (आवश्यक) वह नेटवर्क जिस पर पूल के सदस्य स्थित होंगे। केवल वे सदस्य जो इस नेटवर्क पर हैं, उन्हें पूल में जोड़ा जा सकता है। इसे बदलने से एक नया पूल बनता है।

  • lb_method - (आवश्यक) एल्गोरिथ्म का उपयोग पूल के सदस्यों के बीच लोड वितरित करने के लिए किया जाता है। वर्तमान विनिर्देश इस विशेषता के लिए मान्य मान के रूप में 'ROUND_ROBIN' और 'LEAST_CONNECTIONS' का समर्थन करता है।

  • lb_provider - (वैकल्पिक) बैकएंड लोड बैलेंसिंग प्रदाता। उदाहरण के लिए: haproxy , F5 , आदि।

  • tenant_id - (वैकल्पिक) पूल का मालिक। आवश्यक है यदि व्यवस्थापक किसी अन्य किरायेदार के लिए एक पूल सदस्य बनाना चाहता है। इसे बदलने से एक नया पूल बनता है।

  • monitor_ids - (वैकल्पिक) पूल के साथ जुड़ने के लिए मॉनिटर की आईडी की एक सूची।

  • member - (वैकल्पिक) पूल में जोड़ने के लिए एक मौजूदा नोड। इसे बदलने से पूल के सदस्य अपडेट हो जाते हैं। सदस्य वस्तु संरचना नीचे प्रलेखित है। कृपया ध्यान दें कि member ब्लॉक openstack_lb_member_v1 संसाधन के पक्ष में पदावनत है।

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

  • address - (आवश्यक) सदस्य का आईपी पता। इसे बदलने से एक नया सदस्य बनता है।

  • port - (आवश्यक) उस पोर्ट का प्रतिनिधित्व करने वाला पूर्णांक, जिस पर सदस्य होस्ट किया गया है। इसे बदलने से एक नया सदस्य बनता है।

  • admin_state_up - (आवश्यक) सदस्य की प्रशासनिक स्थिति। स्वीकार्य मूल्य 'सत्य' और 'असत्य' हैं। इस मान को बदलने से मौजूदा सदस्य की स्थिति अपडेट होती है।

  • tenant_id - (वैकल्पिक) सदस्य का स्वामी। आवश्यक है यदि व्यवस्थापक किसी अन्य किरायेदार के लिए एक पूल सदस्य बनाना चाहता है। इसे बदलने से एक नया सदस्य बनता है।

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

निम्नलिखित विशेषताएँ निर्यात की जाती हैं:

  • region - उपर्युक्त तर्क देखें।
  • name - उपर्युक्त तर्क देखें।
  • protocol - उपर्युक्त तर्क देखें।
  • subnet_id - उपर्युक्त तर्क देखें।
  • lb_method - उपर्युक्त तर्क देखें।
  • lb_provider - उपर्युक्त तर्क देखें।
  • tenant_id - उपर्युक्त तर्क देखें।
  • monitor_id - उपर्युक्त तर्क देखें।
  • member - उपर्युक्त तर्क देखें।

टिप्पणियाँ

member ब्लॉक openstack_lb_member_v1 संसाधन के पक्ष में पदावनत है।

आयात

लोड बैलेंसर पूल को id , जैसे का उपयोग करके आयात किया जा सकता है

$ terraform import openstack_lb_pool_v1.pool_1 b255e6ba-02ad-43e6-8951-3428ca26b713