功能特點

此 Ansible 角色將安裝、設定和操作 Snowflake 獨立代理程式。

  • 支援 Ubuntu、Debian、Arch Linux、Fedora 和 FreeBSD。
  • 用於管理 GNU/Linux 上的 Snowflake 服務和 FreeBSD 上的 rc 腳本的 Systemd 單元。

要求

  • Python
  • Ansible 2.9 或更新版本

1. 安裝 Ansible

您可以使用 pip 安裝 Ansible:

$ python -m pip install --user ansible

或找到其他方法來安裝 Ansible

2. 下載 Ansible 角色

此 Ansible role 名為 nvjacobo.snowflake。 您可以在 Galaxy 軟體倉庫中找到它,並使用命令列安裝:

$ ansible-galaxy install nvjacobo.snowflake

3. 創建劇本

接下來,建立一個 Ansible 劇本來運行新角色:

- hosts: snowflake
  roles:
      - nvjacobo.snowflake

4. 建立庫存

清單(inventory)是一份伺服器列表,Ansible 將透過 playbook 自動管理這些伺服器。

[snowflake]
ip-address

5. 佈署

最後,透過執行 playbook,Ansible 將部署 Snowflake 獨立代理程式。 您可以以 root 身分運行它:

$ ansible-playbook -i inventory site.yml -u root

或利用 sudo 指令:

$ ansible-playbook -i inventory site.yml -u username -b

6. 管理 Snowflake 代理

如果 Snowflake 代理主機正在執行 systemd,您可以使用 systemd 指令來管理 Snowflake 代理程式:start、status 和 stop。 例如:

$ ansible all -i inventory -a 'systemctl status snowflake-proxy'

在 FreeBSD 上,可使用下列 rc 指令稿指令管理 Snowflake 代理程式。 例如:

$ ansible all -i inventory -a 'service snowflake status'

7. 升級您的 Snowflake 代理

讓您的 Snowflake 獨立代理保持最新非常重要。 執行 Ansible playbook 將安裝更新:

$ ansible-playbook -i inventory site.yml -u root

8. (可選的) 限制使用

你可以使用變數 client 來限制客戶端(Snowflake 使用者)數量。 預設情況下,最大並發客戶端數是無限的(0 = 無限制)。

下面的 playbook 限制為 300 個同時客戶端:

- hosts: snowflake
   vars:
    clients: 300
  roles:
     - nvjacobo.snowflake

注意:此 Ansible role 變數在 FreeBSD 上不可用。