Fonctionnalités

Ce rôle Ansible installe, configure et exploite le mandataire Snowflake autonome.

  • Prise en charge d’Ubuntu, Debian, Arch Linux, Fedora et FreeBSD.
  • Unité Systemd pour gérer le service Snowflake sur GNU/Linux et script rc pour FreeBSD.

Prérequis

  • Python
  • Ansible 2.9 ou plus

1. Installer Ansible

Vous pouvez installer Ansible en utilisant pip :

$ python -m pip install --user ansible

Ou trouvez d’autres moyens d’installer Ansible.

2. Télécharger le rôle Ansible

Le rôle Ansible s’appelle nvjacobo.snowflake. Vous pouvez le trouver dans le dépôt Galaxy et l’installer à l’aide de la ligne de commande :

$ ansible-galaxy install nvjacobo.snowflake

3. Créer un playbook

Ensuite, créez un playbook Ansible pour exécuter le nouveau rôle :

- hosts: snowflake
  roles:
      - nvjacobo.snowflake

4. Créer un inventaire

Un inventaire est une liste de serveurs qu’Ansible gérera automatiquement par le biais du playbook.

[snowflake]
ip-address

5. Déployer

Enfin, en exécutant le playbook, Ansible déploiera le mandataire Snowflake autonome. Vous pouvez l’exécuter en tant que root :

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

Ou avec sudo :

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

6. Gérer le mandataire Snowflake

Si l’hôte du mandataire Snowflake exécute systemd, vous pouvez gérer votre mandataire Snowflake avec les commandes systemd : start, status et stop. Par exemple :

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

Pour FreeBSD, vous pouvez gérer votre mandataire Snowflake en utilisant ces commandes de script rc. Par exemple :

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

7. Mise à jour de votre mandataire Snowflake

Il est important de maintenir votre mandataire Snowflake autonome à jour. L’exécution du playbook Ansible installera les mises à jour :

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

8. (Facultatif) Limitation de l’utilisation

Vous pouvez limiter le nombre de clients (utilisateurs de Snowflake) en utilisant la variable client. Le nombre maximum de clients simultanés est illimité par défaut (0 = illimité).

Le playbook ci-dessous est limité à 300 clients simultanés :

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

Note : Cette variable de rôle Ansible n’est pas disponible pour FreeBSD.