Terraform 0.11

nomad_job




terraform

nomad_job

खानाबदोश में पंजीकृत नौकरी का प्रबंधन करता है।

इसका उपयोग आपके क्लस्टर को सिस्टम जॉब्स, सामान्य सेवाओं और बहुत कुछ के साथ आरंभ करने के लिए किया जा सकता है। दिन-प्रतिदिन नोमैड का उपयोग डेवलपर्स के लिए सीधे नोमैड को नौकरी सौंपना आम है, जैसे कि सामान्य ऐप परिनियोजन के लिए। इन ऐप्स के अलावा, एक नोमैड क्लस्टर अक्सर कोर सिस्टम सेवाएं चलाता है जो बुनियादी ढांचे के निर्माण के दौरान आदर्श रूप से सेटअप होते हैं। यह संसाधन बाद के प्रकार की नौकरी के लिए आदर्श है, लेकिन इसका उपयोग घुमंतू के भीतर किसी भी नौकरी का प्रबंधन करने के लिए किया जा सकता है।

उदाहरण उपयोग

जॉबस्पेक फ़ाइल से जॉब रजिस्टर करना:

resource "nomad_job" "app" {
  jobspec = "${file("${path.module}/job.hcl")}"
}

एक इनलाइन जॉबस्पेक से नौकरी का पंजीकरण। यह कम यथार्थवादी है लेकिन यह एक उदाहरण है कि यह कैसे संभव है। अधिक संभावना है, सामग्री को ऐसे कुछ के साथ जोड़ा जाएगा जैसे कि पैरामीटर किए गए जॉबस्पेक को प्रस्तुत करने के लिए template_file संसाधन।

resource "nomad_job" "app" {
  jobspec = <<EOT
job "foo" {
  datacenters = ["dc1"]
  type = "service"
  group "foo" {
    task "foo" {
      driver = "raw_exec"
      config {
        command = "/bin/sleep"
        args = ["1"]
      }

      resources {
        cpu = 20
        memory = 10
      }

      logs {
        max_files = 3
        max_file_size = 10
      }
    }
  }
}
EOT
}

तर्क संदर्भ

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

  • jobspec (string: <required>) - रजिस्टर करने के लिए jobspec की सामग्री।

  • deregister_on_destroy (bool: true) - यह निर्धारित करता है कि क्या यह संसाधन Terraform में नष्ट हो जाने पर नौकरी को deregistered किया जाएगा।

  • deregister_on_id_change (bool: true) - यह निर्धारित करता है कि यदि जॉब की आईडी बदल जाती है तो जॉब की deregistered हो जाएगी।

  • policy_override (bool: false) - यह निर्धारित करता है कि नौकरी किसी भी नरम-अनिवार्य प्रहरी नीतियों को ओवरराइड करेगी और असफल होने पर भी पंजीकरण करेगी।