nginxinc.nginx_config
👾 Helfen Sie mit, die NGINX-Konfigurationsrolle für Ansible zu verbessern, indem Sie an unserer Umfrage teilnehmen! 👾
Ansible NGINX-Konfigurationsrolle
Diese Rolle konfiguriert NGINX Open Source und NGINX Plus auf Ihrem Ziel-Host.
[!WICHTIG] Diese Rolle befindet sich noch in der aktiven Entwicklung. Es kann unbekannte Probleme geben und die Rollendefinitionen können sich im Laufe der Entwicklung ändern.
Rollenanforderungen
Ansible
Wenn Sie diese Rolle verwenden möchten, benötigen Sie eine unterstützte Version von Ansible-Core und Jinja2 sowie einige Ansible-Kollektionen.
Zur Vereinfachung können Sie Ansible-Core, Jinja2 und die erwähnten Ansible-Kollektionen installieren und/oder aktualisieren, indem Sie die folgenden vier Befehle auf Ihrem Ansible-Host ausführen:
pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_ansible.txt
curl -O https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_collections.yml
ansible-galaxy install --force -r requirements_collections.yml
rm -f requirements_collections.yml
Damit stellen Sie auch sicher, dass Sie diese Rolle mit einer vollständig getesteten Version der erwähnten Pakete/Kollektionen bereitstellen/ausführen.
Ansible-Core
Diese Rolle wird mit unterstützten Versionen von Ansible-Core und Python entwickelt und getestet.
Wenn Sie Ansible-Core verwenden, müssen Sie auch die folgenden Ansible-Kollektionen installieren:
--- collections: - name: ansible.posix version: 1.5.4 - name: community.general version: 9.0.1 - name: community.docker # Nur erforderlich, wenn Sie planen, Molecule zu verwenden (siehe unten) version: 3.10.3
Anleitungen zur Installation von Ansible-Core finden Sie in der Ansible-Dokumentation.
Anleitungen zur Installation von Ansible-Kollektionen finden Sie im Ansible-Kollektionen-Handbuch.
[!TIPP] Alternativ können Sie die Ansible-Community-Distribution installieren, wenn Sie die einzelnen Kollektionen nicht verwalten möchten.
Jinja2
- Diese Rolle verwendet Jinja2-Vorlagen. Ansible-Core installiert Jinja2 standardmäßig, aber je nach Ihrem Installations- und/oder Upgrade-Verlauf verwenden Sie möglicherweise eine veraltete Version von Jinja2. Die minimale Version von Jinja2, die für die ordnungsgemäße Funktionsweise der Rolle erforderlich ist, ist
3.1
. - Anleitungen zur Installation von Jinja2 finden Sie auf der Jinja2-Website.
Test Suite (Optional)
Wenn Sie zu dieser Rolle beitragen möchten, müssen Sie auch Ansible Lint und Molecule installieren.
Ansible Lint (Optional)
Ansible Lint wird verwendet, um die Rolle auf Ansible-Best Practices und potenzielle Ansible/YAML-Probleme zu überprüfen.
Anleitungen zur Installation von Ansible Lint finden Sie auf der Ansible Lint-Website.
Nach der Installation ist die Verwendung von Ansible Lint so einfach wie das Ausführen:
ansible-lint
Zur Vereinfachung können Sie Ansible Lint installieren und/oder aktualisieren, indem Sie den folgenden Befehl auf Ihrem Ansible-Host ausführen:
pip install -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_ansible_lint.txt
Molecule (Optional)
Molecule wird verwendet, um die verschiedenen Funktionen der Rolle zu testen.
Anleitungen zur Installation von Molecule finden Sie auf der Molecule-Website. Sie müssen auch das Molecule-Plugin-Paket und das Docker-Python-SDK installieren.
Um die NGINX Plus/App Protect-Konfigurationstests in Molecule auszuführen, müssen Sie Ihre NGINX Plus/App Protect-Lizenz in das Molecule-Verzeichnis
common/files/license
der Rolle kopieren.Alternativ können Sie Ihr NGINX Plus/App Protect-Repository-Zertifikat und den Schlüssel der lokalen Umgebung hinzufügen. Führen Sie die folgenden Befehle aus, um diese Dateien als base64-verschlüsselte Variablen zu exportieren und die Molecule-Tests auszuführen:
export NGINX_CRT=$( cat <Pfad zu Ihrer Zertifikatdatei> | base64 ) export NGINX_KEY=$( cat <Pfad zu Ihrer Schlüsseldatei> | base64 ) molecule test -s plus
Zur Vereinfachung können Sie Molecule, das Molecule-Plugin-Paket und das Docker-Python-SDK installieren und/oder aktualisieren, indem Sie den folgenden Befehl auf Ihrem Ansible-Host ausführen:
pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx-config/main/.github/workflows/requirements/requirements_molecule.txt
Rolleninstallation
Diese Rolle kann entweder über Ansible Galaxy (den Marktplatz der Ansible-Community) oder durch Klonen dieses Repos installiert werden. Nach der Installation müssen Sie die Rolle in Ihr Ansible-Playbook unter Verwendung des roles
-Schlüsselworts, des import_role
-Moduls oder des include_role
-Moduls einfügen.
Ansible Galaxy
Um die neueste stabile Version der Rolle auf Ihrem System zu installieren, verwenden Sie:
ansible-galaxy install nginxinc.nginx_config
Alternativ können Sie, wenn Sie die Rolle bereits installiert haben, die Rolle auf die neueste Version aktualisieren, indem Sie Folgendes verwenden:
ansible-galaxy install -f nginxinc.nginx_config
Um die Rolle zu verwenden, fügen Sie die folgende Aufgabe in Ihr Playbook ein:
- name: NGINX konfigurieren
ansible.builtin.include_role:
name: nginxinc.nginx_config
Git
Um die neueste Edge-Commit der Rolle von GitHub abzurufen, verwenden Sie:
git clone https://github.com/nginxinc/ansible-role-nginx-config.git
Um die Rolle zu verwenden, fügen Sie die folgende Aufgabe in Ihr Playbook ein:
- name: NGINX konfigurieren
ansible.builtin.include_role:
name: <Pfad/zum/Repo> # z.B. <roles/ansible-role-nginx-config>, wenn Sie das Repo im Verzeichnis roles Ihres Projekts klonen
Plattformen
Die NGINX-Konfigurationsrolle für Ansible unterstützt alle Plattformen, die von NGINX Open Source und NGINX Plus unterstützt werden.
[!HINWEIS] Sie sollten in der Lage sein, diese Rolle zu verwenden, um jede NGINX-Installation zu konfigurieren – wo auch immer und wie auch immer sie installiert wurde – auf eigenes Risiko. Mögliche Fehler mit der Rolle bei nicht unterstützten Installationsmethoden/-plattformen werden nach Möglichkeit behoben und könnten vollständig abgelehnt werden.*
Rollendefinitionen
Diese Rolle hat mehrere Variablen. Die Beschreibungen und Standards für all diese Variablen finden Sie im defaults/main/
Verzeichnis in den folgenden Dateien:
Name | Beschreibung |
---|---|
main.yml |
NGINX einfache Konfigurationsvariablen |
selinux.yml |
SELinux einrichten, um die erforderlichen Verbindungen zu Ihrer NGINX-Einrichtung zu ermöglichen |
template.yml |
NGINX-Konfigurationsvorlagenvariablen |
upload.yml |
NGINX-Konfigurations-/HTML/SSL-Uploadvariablen |
Beispiel-Playbooks
Funktionierende Beispiel-Playbooks finden Sie im molecule/
Verzeichnis in den folgenden Dateien:
Name | Beschreibung |
---|---|
api/converge.yml |
Konfigurieren Sie die NGINX Plus API und das Dashboard für Live-Metriken |
cleanup_config/converge.yml |
NGINX-Konfiguration bereinigen |
complete/converge.yml |
Testen Sie, ob alle NGINX-Direktiven korrekt in Vorlagen übertragen wurden |
complete_plus/converge.yml |
Testen Sie, ob alle NGINX Plus-spezifischen Direktiven korrekt in Vorlagen übertragen wurden |
default/converge.yml |
Konfigurieren Sie NGINX mit einer Konfiguration, die der Standardkonfiguration so nahe wie möglich kommt |
push_config/converge.yml |
Übertragen Sie eine bereits vorhandene NGINX-Konfiguration von Ihrem System auf Ihre NGINX-Instanz |
reverse_proxy/converge.yml |
Konfigurieren Sie NGINX als Reverse-Proxy zwischen zwei Webservern |
stub_status/converge.yml |
Konfigurieren Sie die NGINX Open Source Stub Status-Metriken |
web_server/converge.yml |
Konfigurieren Sie NGINX als Webserver |
[!HINWEIS] Wenn Sie dieses Repository über Ansible Galaxy installieren, müssen Sie die
include_role
-Variable in den Beispiel-Playbooks vonansible-role-nginx-config
aufnginxinc.nginx_config
ändern.
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-Rolle zur Installation von NGINX OSS und NGINX Plus hier.
Sie finden die Ansible NGINX App Protect-Rolle zur Installation und Konfiguration von NGINX App Protect WAF und NGINX App Protect DoS hier.
Sie finden die Ansible NGINX Unit-Rolle zur Installation von NGINX Unit hier.
Lizenz
Autorinformationen
© F5, Inc. 2020 - 2024
Official Ansible role for configuring NGINX
ansible-galaxy install nginxinc.nginx_config