ویژگیها
این نقش (role) Ansible، پروکسی خوداتکای Snowflake را نصب و پیکربندی میکند و آن را به اجرا در میآورد.
- پشتیبانی از Ubuntu، Debian، Debian، Arch Linux، Fedora و FreeBSD.
- واحد (unit) Systemd برای مدیریت خدمات Snowflake در GNU/Linux و اسکریپت rc برای FreeBSD.
الزامات
- Python
- Ansible 2.9 یا (نسخهٔ) بالاتر
۱. Ansible را نصب کنید
میتوانید Ansible را با استفاده از pip
نصب کنید:
$ python -m pip install --user ansible
یا راههای دیگری برای نصب Ansible پیدا کنید.
۲. Ansible role را بارگیری کنید
نقش (role) در Ansible nvjacobo.snowflake
نامیده میشود.
میتوانید آن را در مخزن Galaxy پیدا کرده و با استفاده از خط فرمان نصب کنید:
$ ansible-galaxy install nvjacobo.snowflake
۳. یک playbook ایجاد کنید
سپس، یک کتاب Ansible playbook برای اجرای نقش (Role) جدید ایجاد کنید:
- hosts: snowflake
roles:
- nvjacobo.snowflake
۴. یک سیاهه (inventory) ایجاد کنید
سیاهه (inventory) یک فهرست از سرورهایی است که Ansible بهطور خودکار از طریق playbook مدیریت میکند.
[snowflake]
ip-address
۵. مستقر کنید
در نهایت، با اجرای playbook، Ansible پروکسی خوداتکای Snowflake را مستقر میکند.
میتوانید آن را از ریشه (root) اجرا کنید:
$ ansible-playbook -i inventory site.yml -u root
یا با (دستور) sudo:
$ ansible-playbook -i inventory site.yml -u username -b
۶. پروکسی Snowflake را مدیریت کنید
اگر میزبان پروکسی Snowflake درحال اجرای systemd باشد، میتوانید با استفاده از دستورهای systemd، پروکسی Snowflake خود را مدیریت کنید: start، status و stop.
برای مثال:
$ ansible all -i inventory -a 'systemctl status snowflake-proxy'
برای FreeBSD، میتوانید پروکسی Snowflake خود را با استفاده از این دستورهای اسکریپت rc مدیریت کنید.
برای مثال:
$ ansible all -i inventory -a 'service snowflake status'
۷. پروکسی Snowflake خود را ارتقا دهید
مهم است که پروکسی خوداتکای Snowflake خود را بهروز نگه دارید.
اجرای Ansible playbook بهروزرسانیها را نصب میکند:
$ ansible-playbook -i inventory site.yml -u root
۸. (اختیاری) محدودسازی استفاده
با استفاده از متغیر client
میتوانید تعداد سرویسگیرندهها (کاربران Snowflake) را محدود کنید.
حداکثر سرویسگیرندهٔ همرخداد بهطور پیشفرض نامحدود است (0 = بدون محدودیت).
Playbook زیر دارای محدودیت ۳۰۰ سرویسگیرندهٔ همرخداد است:
- hosts: snowflake
vars:
clients: 300
roles:
- nvjacobo.snowflake
توجه: این متغیر نقش (role) Ansible برای FreeBSD موجود نیست.