ویژگیها
این نقش (role) Ansible، پراکسی خوداتکای Snowflake را نصب و پیکربندی میکند و آن را به اجرا در میآورد.
- Support for Ubuntu, Debian, Arch Linux, Fedora and 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 موجود نیست.