nginxinc.nginx_management_suite

Molecule CI/CD Lizenz

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

  1. NGINX Management Suite Lizenzdateien
  2. 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.yml finden Sie hier
  • 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/license Ordner 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.

  1. Verwenden Sie die folgende Zeile in Ihrem requirement.yml.

    roles:
      - src: https://github.com/nginxinc/ansible-role-nginx-management-suite.git
        version: main
    
  2. Verwenden Sie git clone https://github.com/nginxinc/ansible-role-nginx-management-suite.git, um den neuesten Edge-Commit (den main Branch) 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

Apache License, Version 2.0

Autor Informationen

John Wong

Alessandro Fael Garcia

© F5, Inc. 2023

Über das Projekt

Official Ansible role for the NGINX Management Suite

Installieren
ansible-galaxy install nginxinc.nginx_management_suite
Lizenz
apache-2.0
Downloads
3k
Besitzer
We're constantly expanding our ecosystem to help you create the best web and app experience around