شروع کار با SaltStack در اوبونتو 17.04

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

الزامات

  • نمونه Vultr در حال اجرا اوبونتو 17.04 (استاد)
  • نمونه Vultr در حال اجرا اوبونتو 17.04 (مینیونیون)

واژه شناسی

SaltStack از چند کلید واژه استفاده می کند که یک دستگاه یا پیکربندی خاص را نشان می دهد ، همانطور که در زیر توضیح داده شده است:

استاد

این نمونه اصلی است که به تمام سرورهای اضافه شده به "خوشه" SaltStack شما متصل می شود ، بنابراین هرگونه دستورات / ارتباطی را به سرورهای شما نیز اجرا می کند.

مینیون

سرورهایی که به SaltStack شما اضافه می شوند ، مینیون نامیده می شوند. هرگونه عمل یا روی یک ، یک گروه یا تمام اعضای شما انجام می شود.

فرمول

یک فرمول یک فایل یا مجموعه ای از پرونده ها را نشان می دهد که minion هایی را که دستورات لازم برای انجام آنهاست معرفی می کند. این می تواند نصب یک برنامه واحد مانند nginxیا رول کردن پرونده های پیکربندی و غیره باشد.

ستون

ستون پرونده ای است که اطلاعات مربوط به گروهی از مینیون ها یا یک مینیون را ذخیره می کند. به عنوان نمونه ، شما می توانید از این نوع فایل برای ذخیره "میزبان های مجازی" برای Nginx برای یک مینیون خاص استفاده کنید.

تنظیم سرور

استاد

ابتدا با تنظیم استاد برای خوشه SaltStack شروع خواهیم کرد:

apt-get update
apt-get dist-upgrade
apt-get install salt-master

به طور پیش فرض ، استاد SaltStack به هیچ وجه گوش نمی دهد ، زیرا استاد معمولاً با مینیون ها از طریق اینترنت عمومی ارتباط برقرار می کند. ما باید در پرونده پیکربندی کمی تغییر ایجاد کنیم که در آن یافت می شود /etc/salt/master:

# The address of the interface to bind to:
interface: 0.0.0.0

پس از ایجاد تغییرات در پرونده ، سرویس اصلی را مجدداً راه اندازی کنید:

service salt-master restart

مینیون

اکنون می توانیم با اضافه کردن اولین مینیون خود پیش برویم. مستقیم پیش بروید و بسته های لازم را نصب کنید:

apt-get update
apt-get dist-upgrade
apt-get install salt-minion

در مرحله بعد ، باید تغییر کوچکی در تنظیمات SaltStack minion ایجاد کنیم که می توانید در اینجا مشاهده کنید /etc/salt/minion:

# Set the location of the salt master server. If the master server cannot be
# resolved, then the minion will fail to start.
master: <master_server_ip>

جایگزین <master_server_ip>با آدرس IP سرور اصلی خود را به عنوان زودتر راه اندازی. در حالت ایده آل ، شما می توانید برای این کار رکورد DNS را تنظیم کنید ، تا راحت تر بتوانید سرور اصلی را تغییر دهید.

پس از آن ، ما باید سرویس مینیون را مجدداً فعال کنیم تا تغییرات فعال شوند:

service salt-minion restart

عملیات کارشناسی ارشد SaltStack

اکنون ما یک استاد کار و مینیون داریم ، بنابراین می توانیم مستقیماً جلو برویم و با یک مجموعه کوچک از دستورات SaltStack روی استاد کار کنیم.

نمایش همه مینیون ها

# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
Rejected Keys:

توجه: قبلاً ما به مینیون گفتیم كه به كدام سرور اصلی وصل شود. بنابراین ، اگر این راهنما را رعایت کرده اید ، مینیونیون را در زیر Unaccepted Keys:بخش مشاهده می کنید.

قبول یک مینیون غیرقابل قبول

# salt-key -a <minion_id>

قبول همه مأموریتهای غیرقابل قبول

# salt-key -A

حذف یک مینیون

# salt-key -d <minion_id>

توجه: <minion_id> معمولاً نام میزبان (ها) یونیکس شما را نشان می دهد و در /etc/salt/minion_idپرونده در minion (ها) ذخیره می شود.

فرمول اول خود را ایجاد کنید

بعد از اضافه کردن minion به استاد ، می توانیم با نوشتن فرمول اول خود ادامه دهیم. در ابتدا ، باید پوشه ای را ایجاد کنیم که فرمول های ما را ذخیره کند:

mkdir -p /srv/salt/

پوشه را برای فرمول اول ما ایجاد کنید:

mkdir -p /srv/salt/nginx

در اصل ، هر گونه دستورالعمل برای یک فرمول در init.slsپرونده ذخیره می شود ، به عنوان مثال ، /srv/salt/nginx/init.sls. از آنجا که عملیات عظیمی وجود دارد که می تواند از طریق یک فرمول انجام شود ، ما یک فرمول کوچک برای نصب Nginx خواهیم نوشت:

nginx:
  pkg:
    - installed

فرمول اول خود را اجرا کنید

پس از نوشتن init.slsپرونده همانطور که در بالا توضیح داده شد ، می توانیم پیش برویم و آن را اجرا کنیم:

salt '*' state.sls nginx

توجه: nginx نشانگر نام پوشه ای است که قبلاً ایجاد کرده ایم.

نتیجه

SaltStack یک نرم افزار بسیار خوب برای اتوماسیون هر نوع پرونده پیکربندی ، استقرار سرویس ، فهرست اولیه سرور و موارد مشابه است. به دلیل این واقعیت که SaltStack مبتن�� بر پایتون است ، اگر به زبان مسلط باشید ، می توانید به راحتی ماژول های خود را نیز اضافه کنید. اتوماسیون مبارک!



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد