Funktionen
Diese Ansible Role wird einen selbstständigen Snowflake-Proxy installieren, konfigurieren und betreiben.
- Unterstützung für Ubuntu, Debian, Arch Linux, Fedora und 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.