PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

पोस्टग्रेएसक्यूएल प्लैनेट इन अंसिबल गैलेक्सी

Ansible Galaxy पहले से ही लिखित Ansible भूमिकाओं को खोजने, अपनी भूमिकाओं को बनाने और साझा करने और Ansible सामग्री की आकाशगंगा में कूदने का सबसे आसान तरीका है!

=================प्राइम टाइम घोषणा! ====================

FOSDEM PGDay 2016 FOSDEM से पहले 29 जनवरी को होगा जो यूरोप का सबसे बड़ा ओपन सोर्स इवेंट है और PostgreSQL Devroom 31 जनवरी को ब्रुसेल्स के FOSDEM में होगा।

यदि आप कॉन्फ़िगरेशन प्रबंधन, सर्वर ऑर्केस्ट्रेशन, स्वचालित परिनियोजन में रुचि रखते हैं (इसीलिए आप इस ब्लॉग पोस्ट को पढ़ रहे हैं, है ना?) और आप PostgreSQL के साथ काम करना पसंद करते हैं (निश्चित रूप से) AWS (वैकल्पिक रूप से) पर, तो आप 29 जनवरी, 12:30-13:20 को मेरी बात "मैनेजिंग पोस्टग्रेएसक्यूएल विद अन्सिबल" में शामिल होना चाह सकते हैं।

कृपया दोनों इवेंट के लिए अद्भुत शेड्यूल देखें! आशा है कि आप इस सप्ताह ब्रसेल्स में मिलेंगे!

=================प्राइम टाइम घोषणा! ====================

नमस्ते Ansible Galaxy!

Ansible का एक शक्तिशाली समुदाय है जो उन्हें और भी अधिक शक्तिशाली बनाता है। डेवलपर्स जो Ansible में योगदान करते हैं, उन्हें योगदान करने में खुशी होती है और जो उपयोगकर्ता अपने सिस्टम के लिए Ansible का उपयोग करते हैं, वे इसका उपयोग करने में प्रसन्न होते हैं।

उन्होंने अपने वेबपेज पर जिस Ansible सामग्री का उल्लेख किया है, वह मूल रूप से Ansible भूमिकाएँ हैं। आइए इस ब्लॉग पोस्ट में भूमिकाएँ जारी रखें और यह समझने की कोशिश करें कि Ansible भूमिका का क्या अर्थ है, और भूमिकाओं, प्लेबुक और कार्यों के बीच क्या अंतर हैं।

एक उत्तरदायी भूमिका क्या है?

आपको बिल्कुल भूमिकाओं का उपयोग करना चाहिए। भूमिकाएँ महान हैं। भूमिकाओं का प्रयोग करें। भूमिकाएँ! क्या हमने इतना ही काफी कहा? भूमिकाएं बहुत अच्छी हैं।

भूमिकाओं के बारे में बात करने से पहले, आइए याद रखें कि Ansible शब्दावली में टास्क और प्लेबुक की परिभाषा क्या है।

कार्य

पैरामीटर के एक विशिष्ट सेट के साथ एक मॉड्यूल को कॉल करने के लिए कार्य जिम्मेदार हैं।

आप Ansible मॉड्यूल के बारे में जानने के लिए मेरे पिछले ब्लॉग पोस्ट को पढ़ सकते हैं और उदाहरणों के साथ Ansible Postgres मॉड्यूल की जांच कर सकते हैं।

प्रत्येक उत्तरदायी कार्य में एक नाम, एक मॉड्यूल जिसे बुलाया जाना है, मॉड्यूल पैरामीटर, और वैकल्पिक रूप से पूर्व / बाद की शर्तें शामिल हैं। वे हमें Ansible मॉड्यूल को कॉल करने और लगातार कार्यों के बारे में जानकारी देने की अनुमति देते हैं।

नीचे दिया गया कार्य 4 पैरामीटर प्रदान करके फ़ाइल मॉड्यूल को आमंत्रित करता है।


- name: Ensure the data folder has right ownership
  file: path="/var/lib/postgresql" state=directory owner=postgres group=postgres

यह सुनिश्चित करता है कि 3 शर्तें सत्य हैं:

  • /var/lib/postgresql एक निर्देशिका के रूप में मौजूद है
  • /var/lib/postgresql के मालिक "पोस्टग्रेज" हैं
  • /var/lib/postgresql का समूह "पोस्टग्रेज" है

यदि यह मौजूद नहीं है, तो Ansible निर्देशिका बनाता है और स्वामी और समूह को असाइन करता है। अगर केवल मालिक अलग है, तो Ansible इसे "पोस्टग्रेज" कर देता है।

प्लेबुक

प्लेबुक में नाटक होते हैं और नाटकों में कार्य होते हैं। कार्य मॉड्यूल को कॉल करते हैं और (वैकल्पिक रूप से) . हो सकते हैं ट्रिगर हैंडलर (एक बार चलाएं, अंत में चलाएं)

अब हम नीचे एक बहुत ही सरल प्लेबुक उदाहरण देख सकते हैं:


- name: Ensure all virtual machines are ready
  hosts: 127.0.0.1
  connection: local
  vars_files: # load default variables from YAML files below
    - 'defaults/postgresql.yml'
    - 'defaults/aws.yml'
  tasks:
    - include: 'tasks/provision.yml' # load infrastructure setup tasks

- name: Ensure all required PostgreSQL dependencies ready
  hosts: postgresql-all # manage all PostgreSQL servers
  sudo: yes
  sudo_user: root
  vars_files:
    - 'defaults/postgresql.yml'
    - 'defaults/aws.yml'
  tasks:
    - include: 'tasks/postgresql.yml' # load PostgreSQL setup tasks

इस प्लेबुक में हमारे दो नाटक हैं:

फर्स्ट प्ले सुनिश्चित करता है कि सभी वर्चुअल मशीनें तैयार हैं और लोकलहोस्ट पर काम करती हैं। यह postgresql.yml और aws.yml नाम की YAML फ़ाइलों से डिफ़ॉल्ट चर लोड करता है। आप इन फ़ाइलों को PostgreSQL और AWS (हमारे उदाहरण में) भूमिकाओं और प्लेबुक के लिए कॉन्फ़िगरेशन फ़ाइलों के रूप में सोच सकते हैं, जैसा कि आप देख सकते हैं कि दोनों नाटक डिफ़ॉल्ट चर के लिए इन फ़ाइलों का उपयोग करते हैं। यह प्ले प्रोविज़न.वाईएमएल टास्क को कॉल करता है जिसमें इंफ्रास्ट्रक्चर सेटअप टास्क शामिल हैं।

दूसरा खेल सुनिश्चित करता है कि सभी आवश्यक पोस्टग्रेएसक्यूएल निर्भरताएं तैयार हैं और पोस्टग्रेज सर्वरों पर संचालित होती हैं जिन्हें इन्वेंट्री फ़ाइल में परिभाषित किया गया है। यह नाटक postgresql.yml कार्य को कॉल करता है जिसमें PostgreSQL सेटअप कार्य शामिल हैं।

यदि आप पूरी प्लेबुक देखना चाहते हैं तो आप मेरे संग्रह की जांच कर सकते हैं और इसे बेहतर बनाने के लिए इसमें योगदान कर सकते हैं।

प्लेबुक अवधारणा को बेहतर ढंग से समझने के लिए, आप उदाहरण प्लेबुक देख सकते हैं जो कि Ansible डॉक्स पर सुझाई गई है।

आइए भूमिकाओं के बारे में बात करते हैं। Ansible में;

  • प्लेबुक कार्यों को व्यवस्थित करें
  • भूमिकाएं प्लेबुक व्यवस्थित करें

कल्पना कीजिए कि हमारे पास प्रबंधित करने के लिए बहुत सारे स्वतंत्र संसाधन हैं (जैसे, वेब सर्वर, पोस्टग्रेएसक्यूएल सर्वर, लॉगिंग, मॉनिटरिंग, एडब्ल्यूएस)। एक ही प्लेबुक में सब कुछ डालने से एक अचूक समाधान हो सकता है।

ऐसी जटिलता को कम करने के लिए, भूमिकाएँ हमारी मदद करती हैं:

कार्यों को बहुत छोटी प्लेबुक में विभाजित करना

यह हमें स्वतंत्र रूप से संसाधनों पर ध्यान केंद्रित करने की अनुमति देता है। इससे इसे बनाए रखना और डीबग करना आसान हो जाता है। साथ ही संरचना को समझना बहुत आसान हो जाएगा।

कॉन्फ़िगरेशन, फ़ाइलें, टेम्प्लेट, टास्क का दोबारा इस्तेमाल करना

इस तरह हम आसानी से उन घटकों को प्लेबुक के बीच साझा कर सकते हैं, बिना बार-बार लिखे।

प्लेबुक निर्भरता को संभालना

जब हम किसी भूमिका को निष्पादित करते हैं, तो हम यह सुनिश्चित कर सकते हैं कि उस भूमिका के लिए सभी पूर्व शर्ते पूरी हों।

यहां आप एक निर्भरता ग्राफ और संबंधित भूमिका निर्देशिका संरचना देख सकते हैं:

Ansible Galaxy में PostgreSQL भूमिकाएं

जब मैं इस ब्लॉग पोस्ट को लिख रहा था तब 146 भूमिकाएँ थीं जो postgresql के आउटपुट के रूप में बदल जाती हैं और पोस्टग्रेज फ़िल्टर खोज.

मैं व्यक्तिगत रूप से इनमें से कुछ भूमिकाओं की जाँच करने और उन्हें अपने आर्किटेक्चर में उपयोग करने का सुझाव देता हूँ यदि वे पर्याप्त रूप से अच्छी हैं, और आपकी आवश्यकताओं को पूरा करती हैं; अगर वे नहीं हैं, तो Ansible Galaxy में साइन अप करें और अपनी खुद की भूमिकाएं बनाएं।

हैप्पी हैकिंग!

Ansible के बारे में अधिक जानकारी के लिए:

  • उनके अच्छी तरह से लिखे गए दस्तावेज़ देखें।
  • अंसिबल क्विक स्टार्ट वीडियो देखें जो वास्तव में मददगार ट्यूटोरियल है।
  • उनके वेबिनार कार्यक्रम का पालन करें, सूची में कुछ अच्छे आगामी वेबिनार हैं।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL में स्केल () फ़ंक्शन कैसे काम करता है

  2. PostgreSQL में उच्चारण हटाने का कार्य

  3. PostgreSQL VACUUM और ANALYZE सर्वोत्तम अभ्यास युक्तियाँ

  4. Pyodbc - डेटा स्रोत का नाम नहीं मिला, और कोई डिफ़ॉल्ट ड्राइवर निर्दिष्ट नहीं है

  5. क्या मैं हेडर के साथ एक csv फ़ाइल से PostgreSQL में स्वचालित रूप से एक तालिका बना सकता हूँ?