टेराफॉर्म के साथ क्लाउड-इनिट का उपयोग कैसे करें?


24

मैं डिजिटल महासागर और टेराफॉर्म के साथ काम कर रहा हूं और मैं पहले से ही डोमेन, उपडोमेन, नेटवर्क वरीयताओं और मेजबान को स्वचालित कर सकता हूं लेकिन एक खंड है जिसे कहा जाता User dataहै जो इस तरह दिखता है:

उपयोगकर्ता का आधार - सामग्री

उस क्षेत्र का वर्णन कहता है Allows the use of Cloud-init to configure your droplet। चारों ओर देखने पर मुझे दस्तावेज मिला ।

मेरा सवाल यह है कि टेराफॉर्म का उपयोग करते समय इसका लाभ कैसे उठाया जाए ?

जवाबों:


21

क्लाउड-इनिट फाइलें अनिवार्य रूप से बूटस्ट्रैप कोड हैं, जो प्रत्येक स्टार्टअप से पहले चलती हैं, और दूसरों के बीच - फ़ाइलों को संशोधित कर सकती हैं, सेवाएं सेट कर सकती हैं, उपयोगकर्ता बना सकती हैं, आदि।

सभी प्रकार की बूंदें क्लाउड-इनिट की सभी कार्यात्मकताओं का समर्थन नहीं करती हैं, उदाहरण के लिए कोरओएस इसका उपयोग करता है इसका कार्यान्वयन, मान्य मूल्यों के बहुत सीमित उपसमूह के साथ है।

टेराफॉर्म में इसका उपयोग करने के लिए, बस छोटी बूंद निर्माण के दौरान क्लाउड-इनिट फ़ाइल प्रदान करें:

main.tf:

resource "digitalocean_droplet" "web" {
  image              = "coreos-stable"
  name               = "web"
  region             = "lon1"
  size               = "2gb"
  private_networking = true
  ssh_keys           = ["${digitalocean_ssh_key.dodemo.id}"]
  user_data          = "${file("web.conf")}"
}

web.conf:

#cloud-config
coreos:
  units:
    - name: "etcd2.service"
      command: "start"
    - name: "fleet.service"
      command: "start"

यह उदाहरण के लिए एक छोटी बूंद बनायेगा, जहाँ CoreOS स्टार्टअप के दौरान etcd2 और बेड़े चलाएगा

आप इस रिपॉजिटरी में कुछ और उदाहरण पा सकते हैं , जहां मैं दिखाता हूं कि कोर के लिए कुछ सरल डॉकटर आधारित सेवाओं को स्थापित करने के लिए इन कॉन्फ़िगरेशन विकल्पों का उपयोग कैसे किया जा सकता है


5

जब आप Terraform के साथ एक ऑटो स्केलिंग समूह बनाते हैं, तो आप user_dataइस ASG द्वारा बनाए गए उदाहरणों द्वारा उपयोग किए जाने के लिए निर्दिष्ट कर सकते हैं । यहाँ प्रलेखित - https://www.terraform.io/docs/providers/aws/r/launch_configuration.html#user_data

आप एक एकल EC2 उदाहरण भी बना सकते हैं, और user_dataउपयोग करने के लिए प्रदान कर सकते हैं - https://www.terraform.io/docs/providers/aws/r/instance.html#user_data

AWS EC2 प्रलेखन बताता है कि किस प्रकार user_dataउस cloud-initसेवा को पास किया जाता है जो AWS पर उपलब्ध अधिकांश लिनक्स वितरणों पर चल रही है - http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user- डेटा-क्लाउड-init

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.