nginxinc.nginx_management_suite
Rôle Ansible pour la Suite de Gestion NGINX
Ce rôle installe uniquement la Suite de Gestion NGINX (NMS).
Remarque : Ce rôle est encore en développement actif. Il peut y avoir des problèmes non identifiés et les variables du rôle peuvent changer au fur et à mesure que le développement avance.
Exigences
- Fichiers de licence de la Suite de Gestion NGINX
- Rôle Ansible NGINX (nginxinc.nginx)
Fichiers de certificat de la Suite de Gestion NGINX
L'installation de la NMS nécessite les fichiers de certificat NMS pour accéder au dépôt. Connectez-vous à MyF5 ou suivez le lien dans l'e-mail d'activation d'essai pour télécharger les fichiers .crt et .key du dépôt NMS :
- nginx-mgmt-suite-trial.key
- nginx-mgmt-suite-trial.crt
REMARQUE : Assurez-vous de renommer ces fichiers en nginx-repo.key et nginx-repo.crt, respectivement.
Instance NGINX
La NMS nécessite une instance NGINX, soit NGINX OSS soit NGINX Plus, uniquement comme frontend. Ce rôle gère cela en définissant une dépendance au Rôle Ansible NGINX, appelé nginxinc.nginx. En raison de cette dépendance, vous pouvez définir des variables liées à nginxinc.nginx lorsque vous utilisez ce rôle. Par exemple, nginx_type est une variable nginxinc.nginx qui peut être définie comme vous le feriez avec n'importe quelle autre variable Ansible. Donc, si votre playbook définit nginx_type: plus, ce rôle NMS appellera le rôle nginxinc.nginx qui installera NGINX Plus. Consultez le Rôle Ansible NGINX pour plus de détails.
La principale différence entre l'utilisation de NGINX OSS ou NGINX Plus dépend de l' Option d'authentification que vous prévoyez d'utiliser.
Ansible
Ce rôle est développé et testé avec des versions maintenues du cœur d'Ansible (au-dessus de
2.12).Ce rôle a été développé et testé avec la version 0.24.0 de nginxinc.nginx.
- MISE À JOUR 24/06/24 : Utilisez la version nginxinc.nginx de l'edge, exemple de
requirements.ymlmontré ici.
- MISE À JOUR 24/06/24 : Utilisez la version nginxinc.nginx de l'edge, exemple de
Lors de l'utilisation de ce rôle, vous devrez également installer les collections suivantes. Des informations supplémentaires sur l'installation de ces collections se trouvent ci-dessous dans la section Installation.
- ansible.posix
- community.general
- community.crypto
- community.docker (uniquement nécessaire si vous prévoyez d'utiliser Molecule)
Vous devez exécuter ce rôle en tant qu'utilisateur root en utilisant le paramètre
becomed'Ansible. Assurez-vous que vous avez configuré les permissions appropriées sur vos hôtes cibles.Les instructions sur la façon d'installer Ansible se trouvent sur le site web d'Ansible.
Jinja2
- Ce rôle utilise des modèles Jinja2. Le cœur d'Ansible installe Jinja2 par défaut, mais selon votre installation et/ou votre mise à niveau, vous pourriez utiliser une version obsolète. La version minimale de Jinja2 requise pour que le rôle fonctionne correctement est
3.1. - Les instructions sur la façon d'installer Jinja2 se trouvent sur le site web de Jinja2.
Molecule (Optionnel)
Vous voudrez utiliser cela si vous faites des contributions à ce rôle ansible.
Molecule est utilisé pour tester les différentes fonctionnalités du rôle. La version recommandée de Molecule pour tester ce rôle est
4.0.1.Les instructions sur la façon d'installer Molecule se trouvent sur le site web de Molecule. Vous devrez également installer le pilote Docker de Molecule.
Pour exécuter les tests Molecule, vous devez copier votre licence NMS dans le dossier
files/licensedu rôle.Vous pouvez alternativement ajouter votre certificat et votre clé de dépôt de la Suite de Gestion NGINX à l'environnement local. Exécutez les commandes suivantes pour exporter ces fichiers en tant que variables encodées en base64 et exécutez les tests Molecule :
export NGINX_CRT=$( cat <chemin vers votre fichier de certificat> | base64 ) export NGINX_KEY=$( cat <chemin vers votre fichier de clé> | base64 ) molecule test -s plus
Utilisation
Suivez ces étapes pour installer la Suite de Gestion NGINX (nms) en utilisant ce rôle ansible.
Créer le fichier d'inventaire
Vous voudrez créer un fichier d'inventaire, inventory, avec le contenu suivant.
[nms]
<hostname> ansible_user=<adminUserName> ansible_become=yes
Installer les rôles et collections requis
Vous voudrez installer les exigences de package dont ce rôle a besoin. Créez un fichier requirements.yml avec le contenu ci-dessous.
---
roles:
- name: nginxinc.nginx_management_suite
version: 0.3.0
collections:
- name: ansible.posix
version: 1.5.1
- name: community.general
version: 6.4.0
- name: community.crypto
version: 2.11.0
- name: community.docker # Uniquement requis si vous prévoyez d'utiliser Molecule (voir ci-dessous)
version: 3.4.2
Utilisez la commande suivante pour installer le rôle ansible et les collections.
ansible-galaxy install -r requirements.yml
Si vous avez déjà installé ces derniers mais devez les mettre à jour vers de nouvelles versions, utilisez la commande suivante.
ansible-galaxy install -fr requirements.yml
Déplacer les certificats NGINX vers un emplacement connu
Dans cet exemple, nous allons déplacer les certificats NGINX vers le même répertoire où je vais créer le fichier de playbook d'installation de la NMS.
Créer le playbook
Créez un fichier de playbook, nms-install.yml, avec l'exemple suivant. Ici, nous installons la NMS avec NGINX Plus.
Assurez-vous de spécifier le chemin où vos certificats NGINX sont situés. Dans l'exemple ici, ils sont dans le même chemin que ce playbook.
- name: Installer la Suite de Gestion NGINX
hosts: nms
tasks:
- name: Installer la NMS
ansible.builtin.include_role:
name: nginxinc.nginx_management_suite
vars:
nms_setup: install
nms_user_name: admin
nms_user_passwd: default
nginx_type: plus
nginx_selinux: true
nginx_selinux_enforcing: false
nginx_license:
certificate: nginx-repo.crt
key: nginx-repo.key
Installer la NMS
Exécutez la commande suivante pour exécuter le playbook qui installera la NMS.
ansible-playbook -i inventory nms-adm-install.yml
Utilisation de la dernière version de la NMS Ansible Role, aka la branche main
Il existe plusieurs méthodes si vous souhaitez utiliser la dernière version de ce rôle.
Utilisez le snippet suivant dans votre
requirement.yml.roles: - src: https://github.com/nginxinc/ansible-role-nginx-management-suite.git version: mainUtilisez
git clone https://github.com/nginxinc/ansible-role-nginx-management-suite.gitpour récupérer le dernier commit de la branche principale du rôle depuis GitHub.
Plateformes
Ce rôle Ansible prend en charge toutes les plateformes supportées par la Suite de Gestion NGINX :
Suite de Gestion NGINX
Amazon Linux 2:
- n'importe lequel
CentOS:
- 7.4+
Debian:
- buster (10)
- bullseye (11)
Oracle Linux:
- 7.4+
- 8
Red Hat:
- 7.4+
- 8
- 9
Ubuntu:
- bionic (18.04)
- focal (20.04)
- jammy (22.04)
Remarque : Vous pouvez également utiliser ce rôle pour installer la Suite de Gestion NGINX sur des plateformes compatibles mais non prises en charge à vos propres risques.
Variables du rôle
Ce rôle possède plusieurs variables. Les descriptions et valeurs par défaut de toutes ces variables peuvent être trouvées dans le dossier defaults/main/ dans le fichier suivant :
| Nom | Description |
|---|---|
main.yml |
Variables d'installation de la NMS |
De même, les descriptions et valeurs par défaut des variables prédéfinies peuvent être trouvées dans le dossier vars/ dans le fichier suivant :
| Nom | Description |
|---|---|
main.yml |
Liste des variables d'installation prises en charge pour la NMS |
Exemples de Playbooks
Des exemples de playbook fonctionnels peuvent être trouvés dans le dossier molecule/ dans les fichiers suivants :
| Nom | Description |
|---|---|
default/converge.yml |
Installer NGINX OSS et NMS |
plus/converge.yml |
Installer NGINX Plus et NMS |
upgrade/converge.yml |
Mettre à jour NMS |
modules/converge.yml |
Installer NGINX OSS, NMS & le module de Gestion de Connectivité API |
service-stopped/converge.yml |
Installer NGINX OSS et NMS, autoriser les services à être dans l'état choisi |
Notez que si vous installez ce dépôt via Ansible Galaxy, vous devrez remplacer la variable du rôle dans les exemples de playbooks de ansible-role-nginx-management-suite à nginxinc.nginx_management_suite.
Autres Collections et Rôles Ansible NGINX
Vous pouvez trouver la collection de rôles Ansible NGINX Core pour installer et configurer NGINX Open Source, NGINX Plus, et NGINX App Protect ici.
Vous pouvez trouver le rôle de configuration Ansible NGINX pour configurer NGINX ici.
Vous pouvez trouver le rôle Ansible NGINX Unit pour installer NGINX Unit ici.
Licence
Informations sur l'auteur
© F5, Inc. 2023
Official Ansible role for the NGINX Management Suite
ansible-galaxy install nginxinc.nginx_management_suite