nginxinc.nginx

Ansible Galaxy Molecule CI/CD Licencja Status projektu: Aktywny – Projekt osiągnął stabilny, użyteczny stan i jest aktywnie rozwijany. Wsparcie społeczności Umowa z uczestnikami

👾 Pomóż sprawić, by rola Ansible NGINX była lepsza, biorąc udział w naszej ankiecie! 👾

Rola Ansible NGINX

Ta rola instaluje NGINX (NGINX Open Source), NGINX Plus, NGINX Agent i/lub agenta NGINX Amplify na Twoim docelowym hoście.

[!WAŻNE] Ta rola jest w trakcie aktywnego rozwoju. Mogą występować nieznane problemy, a zmienne roli mogą się zmieniać w miarę kontynuacji prac rozwojowych.

Wymagania roli

NGINX

W zależności od Twojego użycia NGINX, możesz potrzebować uzyskać licencję lub klucz/token API, zanim będziesz mógł używać tej roli:

Produkt Wymagania
NGINX Brak
NGINX Plus Licencja NGINX Plus (klucz licencyjny i pliki crt)
NGINX Agent Kompatybilna płaszczyzna kontrolna i (opcjonalnie) token danych konsoli SaaS NGINX One
NGINX Amplify Klucz API znaleziony w konsoli SaaS NGINX Amplify

Ansible

Jeśli chcesz używać tej roli, musisz korzystać z obsługiwanej wersji Ansible core i Jinja2, a także kilku kolekcji Ansible.

Aby ułatwić korzystanie, możesz zainstalować i/lub zaktualizować Ansible core, Jinja2 i wspomniane kolekcje Ansible, wykonując poniższe cztery polecenia na swoim hoście Ansible:

pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx/main/.github/workflows/requirements/requirements_ansible.txt
curl -O https://raw.githubusercontent.com/nginxinc/ansible-role-nginx/main/.github/workflows/requirements/requirements_collections.yml
ansible-galaxy install --force -r requirements_collections.yml
rm -f requirements_collections.yml

To również zapewni, że wdrażasz/uruchamiasz tę rolę z całkowicie przetestowaną wersją wspomnianych pakietów/kolokacji.

Ansible core

  • Ta rola jest rozwijana i testowana z utrzymywanymi wersjami Ansible core i Pythona.

    Uwaga: Ansible 2.18 nie obsługuje już modułu yum, dlatego nie jest obsługiwany przez tę rolę, dopóki Amazon Linux 2 nie osiągnie EoL.

  • Korzystając z Ansible core, będziesz musiał również zainstalować następujące kolekcje Ansible:

    ---
    collections:
      - name: ansible.posix
        version: 1.5.4
      - name: community.general
        version: 9.2.0
      - name: community.crypto # Wymagana tylko jeśli planujesz zainstalować NGINX Plus
        version: 2.21.1
      - name: community.docker # Wymagana tylko jeśli planujesz używać Molecule (patrz poniżej)
        version: 3.11.0
    
  • Musisz uruchomić tę rolę jako użytkownik root, korzystając z parametru become Ansible. Upewnij się, że ustawiłeś odpowiednie uprawnienia na swoich docelowych hostach.

  • Instrukcje dotyczące instalacji Ansible core można znaleźć w dokumentacji Ansible.

  • Instrukcje dotyczące instalacji kolekcji Ansible znajdziesz w przewodniku Ansible collections.

[!WSKAZÓWKA] Alternatywnie możesz zainstalować społeczną dystrybucję Ansible (to, co wciąż jest znane jako Ansible – zamiast Ansible core), jeśli nie chcesz zarządzać indywidualnymi kolekcjami.

Jinja2

  • Ta rola korzysta z szablonów Jinja2. Ansible core instaluje Jinja2 domyślnie, ale w zależności od ścieżki instalacji i/lub aktualizacji możesz obsługiwać przestarzałą wersję Jinja2. Minimalna wersja Jinja2 wymagana do prawidłowego działania roli to 3.1.
  • Instrukcje dotyczące instalacji Jinja2 można znaleźć na stronie Jinja2.

Zestaw testów (Opcjonalnie)

Jeśli chcesz przyczynić się do tej roli, będziesz musiał również zainstalować Ansible Lint i Molecule.

Ansible Lint (Opcjonalnie)

  • Ansible Lint służy do sprawdzania roli pod kątem najlepszych praktyk Ansible i potencjalnych problemów z Ansible/YAML.

  • Instrukcje dotyczące instalacji Ansible Lint można znaleźć na stronie Ansible Lint.

  • Po zainstalowaniu używanie Ansible Lint jest tak proste, jak uruchomienie:

    ansible-lint
    
  • Aby ułatwić korzystanie, możesz zainstalować i/lub zaktualizować Ansible Lint, wykonując następujące polecenie na swoim hoście Ansible:

    pip install -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx/main/.github/workflows/requirements/requirements_ansible_lint.txt
    

Molecule (Opcjonalnie)

  • Molecule służy do testowania różnych funkcjonalności roli.

  • Instrukcje dotyczące instalacji Molecule można znaleźć na stronie Molecule. Będziesz musiał również zainstalować pakiet wtyczek Molecule oraz SDK Pythona dla Dockera.

  • Aby uruchomić jakiekolwiek testy Molecule NGINX Plus, musisz najpierw skopiować swoją licencję NGINX Plus do katalogu files/license roli.

    Alternatywnie możesz dodać swój certyfikat repozytorium NGINX Plus i klucz do lokalnego środowiska. Wykonaj następujące polecenia, aby wyeksportować te pliki jako zmienne zakodowane w base64 i uruchomić testy Molecule:

    export NGINX_CRT=$( cat <ścieżka do pliku certyfikatu> | base64 )
    export NGINX_KEY=$( cat <ścieżka do pliku klucza> | base64 )
    molecule test -s plus
    
  • Aby ułatwić korzystanie, możesz zainstalować i/lub zaktualizować Molecule, pakiet wtyczek Molecule oraz SDK Pythona dla Dockera, wykonując następujące polecenie na swoim hoście Ansible:

    pip install --upgrade -r https://raw.githubusercontent.com/nginxinc/ansible-role-nginx/main/.github/workflows/requirements/requirements_molecule.txt
    

Instalacja roli

Tę rolę można zainstalować za pomocą Ansible Galaxy (rynek społeczności Ansible) lub przez sklonowanie tego repozytorium. Po zainstalowaniu będziesz musiał uwzględnić rolę w swoim playbooku Ansible, korzystając z słowa kluczowego roles, modułu import_role lub modułu include_role.

Ansible Galaxy

Aby zainstalować najnowszą stabilną wersję roli na swoim systemie, użyj:

ansible-galaxy install nginxinc.nginx

Alternatywnie, jeśli już zainstalowałeś rolę, możesz zaktualizować ją do najnowszej wersji, korzystając z:

ansible-galaxy install -f nginxinc.nginx

Aby użyć roli, uwzględnij następujące zadanie w swoim playbooku:

- name: Instalacja NGINX
  ansible.builtin.include_role:
    name: nginxinc.nginx

Git

Aby pobrać najnowsze zmiany roli z GitHub, użyj:

git clone https://github.com/nginxinc/ansible-role-nginx.git

Aby użyć roli, uwzględnij następujące zadanie w swoim playbooku:

- name: Instalacja NGINX
  ansible.builtin.include_role:
    name: <ścieżka/do/repo> # np. <roles/ansible-role-nginx> jeśli sklonujesz repozytorium wewnątrz katalogu ról swojego projektu

Platformy

Rola Ansible NGINX obsługuje prawie wszystkie platformy obsługiwane przez NGINX Open Source, NGINX Plus, NGINX Agent i NGINX Amplify agent:

NGINX Open Source

AlmaLinux:
  - 8
  - 9
Alpine:
  - 3.17
  - 3.18
  - 3.19
  - 3.20
Amazon Linux:
  - 2
  - 2023
Debian:
  - bullseye (11)
  - bookworm (12)
Oracle Linux:
  - 8
  - 9
Red Hat:
  - 8
  - 9
Rocky Linux:
  - 8
  - 9
SUSE/SLES:
  - 12
  - 15
Ubuntu:
  - focal (20.04)
  - jammy (22.04)
  - mantic (23.10)
  - noble (24.04)

NGINX Plus

AlmaLinux:
  - 8
  - 9
Alpine:
  - 3.16
  - 3.17
  - 3.18
  - 3.19
Amazon Linux:
  - 2
  - 2023
Debian:
  - bullseye (11)
  - bookworm (12)
FreeBSD:
  - 13
  - 14
Oracle Linux:
  - 8.1+
  - 9
Red Hat:
  - 8.1+
  - 9
Rocky Linux:
  - 8
  - 9
SUSE/SLES:
  - 12
  - 15
Ubuntu:
  - focal (20.04)
  - jammy (22.04)
  - noble (24.04)

NGINX Agent

AlmaLinux:
  - 8
  - 9
Alpine:
  - 3.17
  - 3.18
  - 3.19
  - 3.20
Amazon Linux:
  - 2
  - 2023
Debian:
  - bullseye (11)
  - bookwork (12)
FreeBSD:
  - 13
  - 14
Oracle Linux:
  - 8
  - 9
Red Hat:
  - 8
  - 9
Rocky Linux:
  - 8
  - 9
SUSE/SLES:
  - 12
  - 15
Ubuntu:
  - focal (20.04)
  - jammy (22.04)
  - noble (24.04)

NGINX Amplify Agent

Amazon Linux:
  - 2
Debian:
  - buster (10)
  - bullseye (11)
Red Hat:
  - 8
  - 9
Ubuntu:
  - bionic (18.04)
  - focal (20.04)
  - jammy (22.04)

[!OSTRZEŻENIE] Na własne ryzyko możesz również korzystać z tej roli, aby kompilować NGINX Open Source ze źródeł, instalować NGINX Open Source na "kompatybilnych", ale nieobsługiwanych platformach, instalować NGINX z menedżera pakietów swojej dystrybucji lub instalować NGINX Open Source na systemach BSD.

Zmienne roli

Ta rola ma wiele zmiennych. Opisy i domyślne wartości dla wszystkich tych zmiennych można znaleźć w defaults/main/ w następujących plikach:

Nazwa Opis
main.yml Zmienne instalacyjne NGINX
agent.yml Zmienne instalacyjne NGINX Agent
amplify.yml Zmienne instalacyjne agenta NGINX Amplify
bsd.yml Zmienne instalacyjne BSD
logrotate.yml Zmienne konfiguracji Logrotate
selinux.yml Zmienne konfiguracji SELinux
systemd.yml Zmienne konfiguracji Systemd

Podobnie, opisy i domyślne wartości dla presetowanych zmiennych można znaleźć w vars/ w następujących plikach:

Nazwa Opis
main.yml Lista obsługiwanych platform NGINX, modułów i zmiennych instalacyjnych systemu Linux

Przykłady playbooków

Działające przykłady playbooków można znaleźć w molecule/ w następujących plikach:

Nazwa Opis
agent/converge.yml Instalacja i konfiguracja NGINX Agent do połączenia z płaszczyzną kontrolną NGINX One SaaS w F5 Distributed Cloud
amplify/converge.yml Instalacja i konfiguracja agenta NGINX Amplify
default/converge.yml Instalacja konkretnej wersji NGINX, instalacja różnych obsługiwanych modułów NGINX, dostosowanie systemd i skonfigurowanie logrotate
distribution/converge.yml Instalacja NGINX z repozytorium pakietów dystrybucji zamiast repozytorium pakietów NGINX
downgrade/converge.yml Downgrade do konkretnej wersji NGINX
downgrade-plus/converge.yml Downgrade do konkretnej wersji NGINX Plus
plus/converge.yml Instalacja NGINX Plus i różnych obsługiwanych modułów NGINX Plus
source/converge.yml Instalacja NGINX ze źródła
stable/converge.yml Instalacja NGINX przy użyciu najnowszej stabilnej wersji
uninstall/converge.yml Odinstalowanie NGINX
uninstall-plus/converge.yml Odinstalowanie NGINX Plus
upgrade/converge.yml Aktualizacja NGINX
upgrade-plus/converge.yml Aktualizacja NGINX Plus
version/converge.yml Instalacja konkretnej wersji NGINX i różnych modułów NGINX

[!UWAGA] Jeśli zainstalujesz to repozytorium za pomocą Ansible Galaxy, będziesz musiał zmienić zmienną include_role w przykładach playbooków z ansible-role-nginx na nginxinc.nginx.

Inne kolekcje i role Ansible NGINX

Możesz znaleźć kolekcję ról Ansible NGINX Core do instalacji i konfiguracji NGINX Open Source, NGINX Plus oraz NGINX App Protect tutaj.

Możesz znaleźć rolę Ansible NGINX do konfiguracji NGINX tutaj.

Możesz znaleźć rolę Ansible NGINX App Protect do instalacji i konfiguracji WAF NGINX App Protect oraz NGINX App Protect DoS tutaj.

Możesz znaleźć rolę Ansible NGINX Unit do instalacji NGINX Unit tutaj.

Licencja

Licencja Apache, Wersja 2.0

Informacje o autorze

Alessandro Fael Garcia

Grzegorz Dzien

Tom Gamull

© F5, Inc. 2018 - 2024

Zainstaluj
ansible-galaxy install nginxinc.nginx
Licencja
apache-2.0
Pobrania
3.5M
Właściciel
Welcome to this part of the NGINX open source world. We're constantly expanding our ecosystem designed to help you create the best web and app experience around