nginxinc.nginx_management_suite
Ansible NGINX Management Suite Rolle
Diese Rolle installiert nur die NGINX Management Suite (NMS).
Hinweis: Diese Rolle befindet sich noch in aktiver Entwicklung. Es können unerwartete Probleme auftreten und die Rollenvariablen können sich während der Entwicklung ändern.
Anforderungen
- NGINX Management Suite Lizenzdateien
- NGINX Ansible Rolle (nginxinc.nginx)
NGINX Management Suite Zertifikatdateien
Die Installation von NMS erfordert die NMS-Zertifikatdateien, um auf das Repository zuzugreifen. Melden Sie sich bei MyF5 an oder folgen Sie dem Link in der Testaktivierungs-E-Mail, um die NMS-Repo .crt und .key Dateien herunterzuladen:
- nginx-mgmt-suite-trial.key
- nginx-mgmt-suite-trial.crt
HINWEIS: Achten Sie darauf, diese Dateien in nginx-repo.key und nginx-repo.crt umzubenennen.
NGINX Instanz
NMS benötigt eine NGINX-Instanz, entweder NGINX OSS oder NGINX Plus, nur als Frontend. Diese Rolle kümmert sich darum, indem sie eine Abhängigkeit zur NGINX Ansible Rolle definiert, die nginxinc.nginx heißt. Wegen dieser Abhängigkeit können Sie Variablen, die mit nginxinc.nginx zusammenhängen, bei der Verwendung dieser Rolle setzen. Zum Beispiel ist nginx_type eine nginxinc.nginx-Variable, die genauso gesetzt werden kann, wie jede andere Ansible-Variable. Wenn Ihr Playbook nginx_type: plus definiert, wird diese NMS-Rolle die nginxinc.nginx-Rolle aufrufen, die NGINX Plus installiert. Weitere Details finden Sie in der Ansible Rolle NGINX.
Der Hauptunterschied zwischen der Verwendung von NGINX OSS oder NGINX Plus hängt von der Authentifizierungsoption ab, die Sie verwenden möchten.
Ansible
Diese Rolle wird mit unterstützten Versionen des Ansible-Kerns (über
2.12) entwickelt und getestet.Diese Rolle wurde mit der nginxinc.nginx Version 0.24.0 entwickelt und getestet.
- UPDATE 6/24/24: Verwenden Sie die aktuelle nginxinc.nginx-Version, ein Beispiel für
requirements.ymlfinden Sie hier
- UPDATE 6/24/24: Verwenden Sie die aktuelle nginxinc.nginx-Version, ein Beispiel für
Bei Verwendung dieser Rolle müssen auch die folgenden Kollektionen installiert werden. Weitere Informationen zur Installation dieser Kollektionen finden Sie im Abschnitt Installation.
- ansible.posix
- community.general
- community.crypto
- community.docker (Nur erforderlich, wenn Sie Molecule verwenden möchten)
Sie müssen diese Rolle als Root-Benutzer mit dem
become-Parameter von Ansible ausführen. Stellen Sie sicher, dass Sie die entsprechenden Berechtigungen auf Ihren Zielhosts eingerichtet haben.Anweisungen zur Installation von Ansible finden Sie auf der Ansible-Website.
Jinja2
- Diese Rolle verwendet Jinja2-Vorlagen. Ansible-Kern installiert Jinja2 standardmäßig, aber je nach Ihrer Installation und/oder Upgrade-Pfad könnte es sein, dass Sie eine veraltete Version verwenden. Die minimale Version von Jinja2, die erforderlich ist, damit die Rolle ordnungsgemäß funktioniert, ist
3.1. - Anweisungen zur Installation von Jinja2 finden Sie auf der Jinja2-Website.
Molecule (Optional)
Sie möchten dies verwenden, wenn Sie Beiträge zu dieser Ansible-Rolle leisten.
Molecule wird verwendet, um die verschiedenen Funktionen der Rolle zu testen. Die empfohlene Version von Molecule zum Testen dieser Rolle ist
4.0.1.Anweisungen zur Installation von Molecule finden Sie auf der Molecule-Website. Sie müssen auch den Molecule Docker-Treiber installieren.
Um die Molecule-Tests auszuführen, müssen Sie Ihre NMS-Lizenz in den
files/licenseOrdner der Rolle kopieren.Alternativ können Sie Ihr NGINX Management Suite-Repository-Zertifikat und den Schlüssel in die lokale Umgebung hinzufügen. Führen Sie die folgenden Befehle aus, um diese Dateien als base64-codierte Variablen zu exportieren und führen Sie die Molecule-Tests aus:
export NGINX_CRT=$( cat <Pfad zu Ihrer Zertifikatdatei> | base64 ) export NGINX_KEY=$( cat <Pfad zu Ihrer Schlüsseldatei> | base64 ) molecule test -s plus
Verwendung
Befolgen Sie diese Schritte, um die NGINX Management Suite (NMS) mithilfe dieser Ansible-Rolle zu installieren.
Erstellen Sie eine Inventardatei
Erstellen Sie eine Inventardatei, inventory, mit folgendem Inhalt.
[nms]
<hostname> ansible_user=<adminUserName> ansible_become=yes
Installieren Sie erforderliche Rollen und Kollektionen
Installieren Sie die Paketanforderungen, die diese Rolle benötigt. Erstellen Sie eine requirements.yml Datei mit folgendem Inhalt.
---
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 # Nur erforderlich, wenn Sie Molecule verwenden möchten (siehe unten)
version: 3.4.2
Verwenden Sie den Befehl, um die Ansible-Rolle und die Kollektionen zu installieren.
ansible-galaxy install -r requirements.yml
Wenn Sie diese bereits installiert haben, aber auf neuere Versionen aktualisieren müssen, verwenden Sie den folgenden Befehl.
ansible-galaxy install -fr requirements.yml
NGINX-Zertifikate an einen bekannten Speicherort verschieben
In diesem Beispiel hier werden wir die NGINX-Zertifikate in dasselbe Verzeichnis verschieben, in dem ich die NMS-Installations-Playbook-Datei erstellen werde.
Erstellen Sie ein Playbook
Erstellen Sie eine Playbook-Datei, nms-install.yml, mit folgendem Beispiel. Hier installieren wir NMS mit NGINX Plus.
Stellen Sie sicher, dass Sie den Pfad angeben, wo sich Ihre NGINX-Zertifikate befinden. In diesem Beispiel befinden sie sich im selben Pfad wie dieses Playbook.
- name: NGINX Management Suite installieren
hosts: nms
tasks:
- name: NMS installieren
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
NMS installieren
Führen Sie den folgenden Befehl aus, um das Playbook auszuführen, das NMS installieren wird.
ansible-playbook -i inventory nms-adm-install.yml
Verwendung der neuesten Edge der NMS Ansible-Rolle, auch bekannt als der main Branch
Es gibt ein paar Methoden, um die neueste Edge dieser Rolle zu verwenden.
Verwenden Sie die folgende Zeile in Ihrem
requirement.yml.roles: - src: https://github.com/nginxinc/ansible-role-nginx-management-suite.git version: mainVerwenden Sie
git clone https://github.com/nginxinc/ansible-role-nginx-management-suite.git, um den neuesten Edge-Commit (denmainBranch) der Rolle von GitHub zu ziehen.
Plattformen
Diese Ansible-Rolle unterstützt alle Plattformen, die von NGINX Management Suite unterstützt werden:
NGINX Management Suite
Amazon Linux 2:
- any
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)
Hinweis: Sie können diese Rolle auch verwenden, um NGINX Management Suite auf kompatiblen, aber nicht unterstützten Plattformen auf eigenes Risiko zu installieren.
Rollenvariablen
Diese Rolle hat mehrere Variablen. Die Beschreibungen und Standardwerte für all diese Variablen finden Sie im defaults/main/ Ordner in der folgenden Datei:
| Name | Beschreibung |
|---|---|
main.yml |
NMS Installationsvariablen |
Ähnlich sind Beschreibungen und Standardwerte für voreingestellte Variablen im vars/ Ordner in der folgenden Datei zu finden:
| Name | Beschreibung |
|---|---|
main.yml |
Liste der unterstützten NMS Installationsvariablen |
Beispiel-Playbooks
Funktionale Playbook-Beispiele finden Sie im molecule/ Ordner in den folgenden Dateien:
| Name | Beschreibung |
|---|---|
default/converge.yml |
Installiere NGINX OSS und NMS |
plus/converge.yml |
Installiere NGINX Plus und NMS |
upgrade/converge.yml |
Upgrade NMS |
modules/converge.yml |
Installiere NGINX OSS und NMS & das API Connectivity Manager-Modul |
service-stopped/converge.yml |
Installiere NGINX OSS und NMS, lasse Dienste im gewünschten Zustand sein |
Beachten Sie, dass Sie, wenn Sie dieses Repository über Ansible Galaxy installieren, die Rollenvariable in den Beispieldateien von ansible-role-nginx-management-suite in nginxinc.nginx_management_suite ändern müssen.
Weitere NGINX Ansible-Kollektionen und Rollen
Sie finden die Ansible NGINX Core-Kollektion von Rollen zur Installation und Konfiguration von NGINX Open Source, NGINX Plus und NGINX App Protect hier.
Sie finden die Ansible NGINX-Konfigurationsrolle zur Konfiguration von NGINX hier.
Sie finden die Ansible NGINX Unit-Rolle zur Installation von NGINX Unit hier.
Lizenz
Autor Informationen
© F5, Inc. 2023
Official Ansible role for the NGINX Management Suite
ansible-galaxy install nginxinc.nginx_management_suite