آموزش پاپت (Puppet)

دسته بندی: نرم افزار ها

آموزش پاپت

آنچه در این صفحه می خوانید:

پاپت (Puppet) چیست؟

Puppet ابزاری برای مدیریت پیکربندی است که جهت استقرار، پیکربندی و مدیریت سرورها استفاده می شود. پاپت از یک معماری Master-Slave استفاده می کند که در آن Master و Slave از طریق یک کانال رمزگذاری شده ایمن با کمک SSL ارتباط برقرار می کنند.

Puppet یک ابزار مدیریت پیکربندی نرم افزار اوپن سورس است. این نرم افزار بر روی بسیاری از سیستم های شبیه به یونیکس و همچنین در ویندوز اجرا می شود و شامل زبان اعلامی خود برای توصیف پیکربندی سیستم است. این نسخه در سی پلاس پلاس، کلوژور (Clojure) و روبی نوشته شده  و همراه با نسخه نرم افزار رایگان آن منتشر شده است که تحت مجوز Apache 2.0 2.0 منتشر شده است. Puppet به گونه ای طراحی شده است که پیکربندی سیستم های شبیه یونیکس و ویندوز را بصورت اعلانی مدیریت کند. کاربر منابع سیستم و وضعیت آنها را با استفاده از زبان اعلانی Puppet یا Ruby DSL (یک زبان خاص دامنه) توصیف می کند. این اطلاعات در پرونده هایی با عنوان "Puppet manifests" ذخیره می شود. پاپت اطلاعات سیستم را از طریق ابزاری به نام Factor کشف می کند و مانیفست های پاپت را در یک فروشگاه مخصوص سیستم که شامل منابع است، جمع آوری می کند و در برابر سیستم های هدف مورد استفاده قرار می گیرد. اقدامات انجام شده توسط پاپت گزارش می شود.

پاپت از یک زبان اعلانی سفارشی برای توصیف پیکربندی سیستم تشکیل شده است، که می تواند به طور مستقیم بر روی سیستم اعمال شود، یا در یک فهرست وارد شود و از طریق الگوی کلاینت-سرور (با استفاده از REST API) در سیستم مورد نظر توزیع شود و و عامل برای ارائه منابع مشخص شده در مانیفست از ارائه دهندگان خاص سیستم استفاده می کند. لایه انتزاع منابع به مدیران امکان می دهد پیکربندی را به صورت سطح بالا مانند کاربران، سرویس ها و پکیج ها بدون نیاز به مشخص کردن دستورات خاص سیستم عامل (مانند rpm، yum، apt) توصیف کنند.

پاپت مدل محور است، برای استفاده از دانش برنامه نویسی محدود نیاز دارد. پاپت در دو نسخه ارائه می شود، پاپت Enterprise و پاپت اوپن سورس. علاوه بر ارائه قابلیت های پاپت منبع باز، پاپت Enterprise همچنین از ابزارهای GUI، خط فرمان و API برای مدیریت گره استفاده می کند.

ویژگی های پاپت (Puppet)

در زیر چند واقعیت در مورد پاپت وجود دارد:

  • پایه نصب بزرگ: پاپت توسط بیش از 30،000 شرکت در سراسر جهان از جمله گوگل، رد هت، زیمنس و غیره به همراه چندین دانشگاه مانند دانشکده حقوق استنفورد و هاروارد استفاده می شود. به طور متوسط ​​روزانه 22 سازمان جدید برای اولین بار از پاپت استفاده می کنند.
  • پایه توسعه بزرگ: پاپت به قدری مورد استفاده قرار می گیرد که افراد زیادی برای توسعه آن تلاش می کنند.
  • سابقه طولانی تجاری: پاپت از سال 2005 در استفاده تجاری بوده و به طور مداوم اصلاح و بهبود یافته است. در زیرساخت های بسیار بزرگ مستقر شده است (5،000 دستگاه) و دروس عملکرد و مقیاس پذیری که از این پروژه ها گرفته شده است، در پیشرفت پاپت نقش داشته است.
  • مستندات: پاپت دارای ویکی بزرگ است که توسط کاربران صدها صفحه اسناد و ارجاع جامع برای هر دو زبان و انواع منابع آن وجود دارد. علاوه بر این، در چندین لیست پستی به طور فعال مورد بحث قرار می گیرد و دارای یک کانال IRC بسیار محبوب است، بنابراین مشکل پاپت شما هرچه باشد، پیدا کردن جواب آسان است.
  • پشتیبانی بستر های نرم افزاری: سرور Puppet می تواند بر روی هر پلتفرمی که از ruby ​​برای سابق پشتیبانی می کند، اجرا شود: CentOS، ویندوز سرور، اوراکل و لینوکس و غیره. این نه تنها از سیستم عامل های جدید پشتیبانی می کند بلکه می تواند در سیستم های قدیمی نیز اجرا شود.

اکنون مشخص است که پاپت در سراسر جهان تقاضای زیادی دارد. اما، قبل از غوطه ور شدن در پاپت، ابتدا به این توضیح که مدیریت پیکربندی چیست و چرا اهمیت دارد توجه کنید.

مدیریت پیکربندی چیست؟

مدیریت پیکربندی فرایند نگهداری نرم افزارها و سیستم های رایانه ای (به عنوان مثال سرورها، ذخیره سازی، شبکه ها) در یک حالت شناخته شده، مورد نظر و سازگار است. همچنین این امکان را می دهد تا به هیستوری دقیق وضعیت سیستم برای مدیریت پروژه و اهداف حسابرسی دسترسی داشته باشید.

سرپرستان سیستم اکثراً کارهای تکراری مانند نصب سرورها، پیکربندی آن سرورها و غیره را انجام می دهند. این متخصصان می توانند با نوشتن اسکریپت، این کار را به صورت خودکار انجام دهند. با این حال، هنگامی که آنها روی یک زیرساخت عظیم کار می کنند کار دشواری است. ابزار مدیریت پیکربندی مانند پاپت برای حل چنین مواردی معرفی شد.

کاربرد پاپت (Puppet)

به عنوان مثال، شما دارای زیرساختی با حدود 100 سرور هستید. به عنوان مدیر سیستم، وظیفه شماست که اطمینان حاصل کنید که همه این سرورها همیشه به روز بوده و با عملکرد کامل کار می کنند. برای این کار می توانید از Puppet استفاده کنید که به شما امکان می دهد کدی ساده بنویسید که بطور خودکار در این سرورها مستقر شود. این تلاش انسان را کاهش می دهد و روند توسعه را سریع و مؤثر می کند.

پاپت توابع زیر را انجام می دهد:

  • پاپت اجازه می دهد تا تنظیمات متمایز را برای هر میزبان تعریف کنید.
  • این ابزار به شما امکان می دهد تا سرورها را به طور مداوم کنترل کنید تا تأیید کنید که پیکربندی مورد نیاز وجود دارد یا خیر و تغییر نکرده است. اگر پیکربندی تغییر یابد، ابزار Puppet به پیکربندی از پیش تعریف شده در هاست باز می گردد.
  • همچنین کنترل تمام سیستم پیکربندی شده را فراهم می کند، بنابراین یک تغییر متمرکز به طور خودکار انجام می شود.
  • همچنین از آن به عنوان یک ابزار استقرار استفاده می شود زیرا به طور خودکار نرم افزار را به سیستم مستقر می کند. این زیرساخت ها را به عنوان کد پیاده سازی می کند زیرا خط مشی ها و پیکربندی ها به صورت کد نوشته می شوند.

بگذارید کاربردهای پاپت را با استفاده از یک مطالعه موردی درک کنیم. اگر علاقه مندان به پوکر هستید و یا تاکنون بازی های آنلاین انجام داده اید، پس حتماً در مورد Zynga شنیده اید. این بزرگترین توسعه دهنده بازی های اجتماعی در جهان است. زیرساخت Zynga از ده ها هزار سرور در مراکز داده عمومی کلود و خصوصی استفاده می کند. در اوایل آنها از یک فرایند دستی، از جمله Kickstarter و نصب پس از آن استفاده می کردند تا صدها سرور را بصورت آنلاین بدست آورند.

اکنون خواهیم دید که آنها با این روند با چه مشکلی روبرو شده اند:

  • مقیاس پذیری و سازگاری - Zynga رشد پدیده ای را تجربه می کرد و زیرساخت های لازم برای همگام سازی با صنعت مورد نیاز است. راه حل ها و رویکردهای دستی برای نیازهای آنها کافی نبود.
  • زیرساخت های قابل حمل - Zynga به روشی برای استفاده از یک رویکرد مدیریت پیکربندی مداوم در هر دو زیرساخت ابری عمومی و مراکز داده خود نیاز داشت.
  • انعطاف پذیری - با توجه به تنوع ویژگی های مختلف بازی Zynga، این تیم برای این مهم بود که بتواند به سرعت مطابقت پیکربندی مناسب دستگاه مناسب را داشته باشد.
  • بینش زیرساختی - با بالغ شدن سازمان، داشتن یک روش خودکار برای تجسم خواص هر دستگاه مهمتر شد.

این شرکت به اندازه کافی هوشمند بود که حتی قبل از اینکه آنها به مقیاس سریع برسند، به سرعت نیاز به یک فرآیند خودکار را درک کنند، یعنی زمانی که پاپت وارد شد.

آیا این نوشته را دوست داشتید؟
packt-hands-on-infrastructure-automation-with-puppet-6

آموزش اتوماسیون زیرساخت با Puppet 6


Puppet یک سیستم مدیریت پیکربندی و یک زبان برای مدیران سیستم است تا تعداد زیادی از سیستم ها را به طور کارآمد مدیریت کرده و از رانش پیکربندی جلوگیری کند...

1400/02/21 429 بازدید
pluralsight-getting-started-with-puppet-bolt

شروع کار با Puppet Bolt


شما در این دوره، توانایی هماهنگ سازی تسک ها در سراسر دستگاه های متعدد، با استفاده از هر زبانی که روی نودهای ریموت پشتیبانی می شود را به دست می آورید. ...

1399/06/13 551 بازدید زیرنویس دارد
pluralsight-managing-and-securing-windows-server-with-puppet

مدیریت و ایمن سازی ویندوز سرور با Puppet


نحوه خودکار سازی امنیت و پیکربندی ویندوز سرور با استفاده از Puppet Enterprise، محبوب ترین راه حل مدیریت پیکربندی متن باز کنونی را یاد بگیرید. در این د...

1399/06/02 1525 بازدید
infiniteskills-learning-puppet

یادگیری ابزار پاپت (Puppet)


در این دوره آموزشی یادگیری ابزار پاپت (Puppet)، مدرس خبره، به شما نحوه نوشتن و اعمال کد های پاپت را آموزش می دهد. این دوره برای افراد کاملا مبتدی طراح...

1398/01/30 1909 بازدید
packtpub-software-automation-using-puppet-for-beginners

آموزش خودکارسازی نرم افزار با استفاده از Puppet برای مبتدیان


آموزش ویدئویی و رایگان خودکارسازی، پیکربندی و استقرار نرم افزار با استفاده از Puppet پاپت یک ابزار مدیریت پیکربندی است که به شما امکان بازرسی، تحویل ...

1398/01/23 1723 بازدید
packtpub-puppet-5-0-essentials-for-configuration-management-video

آموزش Puppet 5.0 برای مدیریت پیکربندی


پاپت (Puppet) یک سیستم مدیریت پیکربندی است که تمام پیکربندی ها و استقرار نرم افزار فناوری اطلاعات شما را برای سیستم عامل ویندوز و لینوکس، خودکار سازی ...

1398/01/21 1212 بازدید
lynda-puppet-essential-training

آموزش اصولی Puppet 


نرم افزار Puppet با استاندارد سازی زیرساخت ها توسط مدیران و نگهداری آن در حالت مورد نظر به ساده سازی کار مدیریت سرور کمک می کند. در این دوره با پلتفرم...

1397/03/25 1493 بازدید
packtpub-puppet-5-from-beginner-to-pro-video

آموزش Puppet 5 - از مبتدی تا پیشرفته


در این دوره با ویژگی های جدید Puppet 5 از جمله کانتینرهای Docker، داده Hiera و Amazon AWS cloud orchestration، مدیریت هر بخش از راه اندازی سرور، نصب ب...

1397/03/01 1445 بازدید
1396/11/19 1164 بازدید زیرنویس دارد
1396/10/27 1027 بازدید
1396/10/18 931 بازدید
pluralsight-building-testing-and-deploying-professional-puppet-modules

آموزش ساخت، تست و راه اندازی ماژول های Puppet


در این آموزش تصویری با ساخت، تست و راه اندازی ماژول های Puppet آشنا می شوید. این دوره آموزشی محصول Pluralsight است. سرفصل های این مجموعه: مقدمه ...

1396/09/21 1393 بازدید
1396/08/29 1179 بازدید
pluralsight-puppet-4-working-with-modules-and-classes

آموزش کار با ماژول ها و کلاس ها در Puppet 4


در این آموزش تصویری با نحوه کار با ماژول ها و کلاس ها در Puppet 4 آشنا می شوید. این دوره آموزشی محصول موسسه Pluralsight است. سرفصل های این دوره: ...

1395/11/17 1203 بازدید
pluralsight-puppet-4-working-with-files-and-templates

کار با فایل ها و الگو ها در Puppet 4


در این آموزش تصویری با نحوه کار با فایل ها و الگو ها در Puppet 4 آشنا می شوید. این دوره آموزشی محصول موسسه Pluralsight است. سرفصل های این دوره: م...

1395/11/05 1170 بازدید
pluralsight-puppet-4-language-essentials

آموزش زبان در Puppet 4


در این آموزش تصویری با زبان در نرم افزار Puppet 4 آشنا می شوید. این دوره آموزشی محصول Pluralsight است. سرفصل های این مجموعه: مدیریت پیکربندی و Pu...

1395/10/09 1191 بازدید