Funktionen

Diese Ansible Role wird einen selbstständigen Snowflake-Proxy installieren, konfigurieren und betreiben.

  • Support for Ubuntu, Debian, Arch Linux, Fedora and FreeBSD.
  • Systemd-Unit zur Verwaltung des Snowflake-Dienstes unter GNU/Linux und rc-Skript für FreeBSD.

Anforderungen

  • Python
  • Ansible 2.9 oder höher

1. Installiere Ansible

Du kannst Ansible mittels pip installieren:

$ python -m pip install --user ansible

Oder finde andere Möglichkeiten zur Installation von Ansible.

2. Die Ansible Role herunterladen

Die Ansible Role wird nvjacobo.snowflake genannt. Du kannst es im Galaxy repository finden und über die Kommandozeile installieren:

$ ansible-galaxy install nvjacobo.snowflake

3. Erstelle ein Playbook

Als nächstes erstelle ein Ansible-Playbook, um die neue Rolle auszuführen:

- hosts: snowflake
  roles:
      - nvjacobo.snowflake

4. Erstelle ein Inventar

Ein Inventar ist eine Liste von Servern, die Ansible automatisch über das Playbook verwaltet.

[snowflake]
ip-address

5. Bereitstellen

Wenn das Playbook ausgeführt wird, stellt Ansible schließlich den eigenständigen Snowflake-Proxy bereit. Du kannst es als root ausführen:

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

Oder mit sudo:

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

6. Verwalten des Snowflake-Proxy

Wenn auf dem Snowflake-Proxy-Host systemd läuft, kannst du deinen Snowflake-Proxy mit den systemd-Befehlen start, status und stop verwalten. Zum Beispiel:

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

Unter FreeBSD kannst du deinen Snowflake-Proxy mit den folgenden rc-Skriptbefehlen verwalten. Zum Beispiel:

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

7. Upgrade des Snowflake-Proxy

Es ist wichtig, deinen selbstständigen Snowflake-Proxy aktuell zu halten. Durch die Ausführung des Ansible-Playbooks werden die Updates installiert:

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

8. (optional) Nutzung limitieren

Du kannst die maximale Anzahl an Klienten (Snowflake-Nutzern) mittels der Variable client beschränken. Die maximale Anzahl gleichzeitiger Clients ist standardmäßig unbegrenzt (0 = keine Begrenzung).

Das Playbook unten hat ein Limit von 300 gleichzeitigen Clients:

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

Hinweis: Diese Ansible Role-Variable ist nicht für FreeBSD verfügbar.