कठपुतली - nodes.pp में वाइल्डकार्ड होस्ट को परिभाषित करें


10

क्या कठपुतली के नोड्स.पीपी में वाइल्डकार्ड मेजबानों को परिभाषित करने का एक तरीका है

मैं चाहता हूँ कि सभी होस्ट एक ही डोमेन में एक वर्ग का एक सेट प्राप्त कर सकें, क्या मैं कुछ ऐसा कर सकता हूँ:

# nodes.pp
#

node basenode {
  include  admina, adminb, admic
  }


node "*.acme.com" {
    include adminc
    }

जवाबों:


9

इस तरह से नहीं। आप एक 'डिफ़ॉल्ट' नोड बना सकते हैं जो किसी भी हस्ताक्षरित ग्राहक पर लागू होगा।

node "default" {
   include foo
}

लेकिन आपके पास केवल 1 डिफ़ॉल्ट हो सकता है। यदि आप अपने द्वारा बताई गई कार्यक्षमता को दोहराना चाहते हैं तो आप वर्गीकरण के बाहरी_नोड्स विधि का उपयोग कर सकते हैं। मूल रूप से आप एक स्क्रिप्ट लिखते हैं जो क्लाइंट के कनेक्ट होने पर वैध yaml देता है। वह स्क्रिप्ट वैसे भी आप चाहते हैं, fqdn की जाँच कर सकते हैं, एक db क्वेरी कर सकते हैं, ldap हिट कर सकते हैं, आदि।


+1 बाहरी_नोड्स से सहमत
डेविड पशले

16

अब पपेट 0.25 में नियमित अभिव्यक्ति संभव है, इसलिए आप जो चाहते हैं वह संभव होगा:

node /^(foo|bar)\.example\.com$/ {
include blah
}

3

अभी तक 0.25 डिस्ट्रोस जहाज है, इसलिए मेरे Centos5 में EPEL रेपो से 2.24.8 होने के कारण मुझे अपने कार्यकर्ता नोड्स के लिए कुछ ऐसा करना पड़ा जैसे wn10.example.com जैसे होस्टनाम के साथ:

node  default {
    $node_type = regsubst($hostname, '^([a-z]+).*$', '\1')
    case $node_type{
        wn: {include worker_node}
        default: {include generic_node}
    }
}

त्वरित अपडेट - कठपुतली-2.6.12-1.el5.noarch अब EPEL से उपलब्ध है (नोड नामों में नियमित अभिव्यक्ति का समर्थन करता है)।
plasmid87
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.