nginxinc.nginx_config

Ansible Galaxy Molecule CI/CD License Status projektu: Aktywny – Projekt jest w stabilnym, użytecznym stanie i jest wciąż rozwijany. Wsparcie społeczności Zasady uczestnictwa

👾 Pomóż uczynić rolę konfiguracyjną NGINX w Ansible lepszą, biorąc udział w naszej ankiecie! 👾

Rola konfiguracyjna Ansible NGINX

Ta rola konfiguruje NGINX Open Source i NGINX Plus na wybranym hoście.

[!IMPORTANT] Ta rola jest wciąż w aktywnym rozwoju. Mogą występować nieodkryte problemy, a zmienne roli mogą się zmieniać w miarę kontynuacji prac.

Wymagania Roli

Ansible

Aby używać tej roli, potrzebujesz wspieranej wersji Ansible core i Jinja2 oraz kilku zbiorów Ansible.

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

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

To zapewni, że wdrażasz/uruchamiasz tę rolę z w pełni przetestowaną wersją wymienionych pakietów/zbiorów.

Ansible core

  • Ta rola jest rozwijana i testowana z użyciem utrzymywanych wersji Ansible core i Pythona.

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

    ---
    collections:
      - name: ansible.posix
        version: 1.5.4
      - name: community.general
        version: 9.0.1
      - name: community.docker # Tylko jeśli planujesz używać Molecule (patrz poniżej)
        version: 3.10.3
    
  • Instrukcje dotyczące instalacji Ansible core znajdują się w dokumentacji Ansible.

  • Instrukcje dotyczące instalacji zbiorów Ansible można znaleźć w przewodniku zbiorów Ansible.

[!TIP] Alternatywnie, możesz zainstalować dystrybucję społeczności Ansible (nadal znaną jako Ansible -- zamiast Ansible core), jeśli nie chcesz zarządzać indywidualnymi zbiorami.

Jinja2

  • Ta rola używa szablonów Jinja2. Ansible core instaluje Jinja2 domyślnie, ale w zależności od ścieżki instalacji i/lub aktualizacji, możesz korzystać z nieaktualnej wersji Jinja2. Minimalna wersja Jinja2 wymagana do poprawnego działania roli to 3.1.
  • Instrukcje dotyczące instalacji Jinja2 znajdują się na stronie Jinja2.

Zestaw testowy (Opcjonalnie)

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

Ansible Lint (Opcjonalnie)

  • Ansible Lint jest używany do testowania 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życie Ansible Lint jest tak proste jak uruchomienie:

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

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

Molecule (Opcjonalnie)

  • Molecule jest używane do testowania różnych funkcji roli.

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

  • Aby uruchomić testy Molecule dla konfiguracji NGINX Plus/App Protect, musisz skopiować swoją licencję NGINX Plus/App Protect do katalogu Molecule common/files/license.

    Alternatywnie, możesz dodać swój certyfikat i klucz repozytorium NGINX Plus/App Protect do lokalnego środowiska. Wykonaj poniższe polecenia, aby wyeksportować te pliki jako zmienne zakodowane w base64 i wykonać 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 i SDK Dockera w Pythonie, wykonując to polecenie na swoim hoście Ansible:

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

Instalacja Roli

Tę rolę można zainstalować za pośrednictwem Ansible Galaxy (rynek społeczności Ansible) lub poprzez sklonowanie tego repozytorium. Po zainstalowaniu, będziesz musiał uwzględnić rolę w swoim playbooku Ansible, używając 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_config

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

ansible-galaxy install -f nginxinc.nginx_config

Aby użyć roli, dodaj następujące zadanie do swojego playbooka:

- name: Skonfiguruj NGINX
  ansible.builtin.include_role:
    name: nginxinc.nginx_config

Git

Aby pobrać najnowszą wersję roli z GitHub, użyj:

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

Aby użyć roli, dodaj następujące zadanie do swojego playbooka:

- name: Skonfiguruj NGINX
  ansible.builtin.include_role:
    name: <ścieżka/do/repo> # np. <roles/ansible-role-nginx-config>, jeśli sklonujesz repo do katalogu ról w swoim projekcie

Platformy

Rola konfiguracyjna NGINX w Ansible wspiera wszystkie platformy wspierane przez NGINX Open Source i NGINX Plus.

[!NOTE] Powinieneś móc użyć tej roli do skonfigurowania każdej instalacji NGINX – niezależnie od tego, jak została zainstalowana – na własne ryzyko. Jakiekolwiek potencjalne błędy dotyczące roli w związku z nieobsługiwanymi metodami/platformami instalacji będą rozwiązane na zasadzie najlepszego wysiłku i mogą być całkowicie odrzucone.

Zmienne Roli

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

Nazwa Opis
main.yml Zmienne konfiguracyjne NGINX
selinux.yml Ustawia SELinux, aby umożliwić potrzebne połączenia w Twojej konfiguracji NGINX
template.yml Zmienne szablonu konfiguracyjnego NGINX
upload.yml Zmienne przesyłania konfiguracyjnego HTML/SSL NGINX

Przykładowe Playbooki

Działające przykłady playbooków można znaleźć w molecule/ w poniższych plikach:

Nazwa Opis
api/converge.yml Konfiguracja API NGINX Plus i pulpit nawigacyjny z danymi metrycznymi
cleanup_config/converge.yml Czyszczenie konfiguracji NGINX
complete/converge.yml Testowanie, czy wszystkie dyrektywy NGINX są poprawnie wyrenderowane
complete_plus/converge.yml Testowanie, czy wszystkie specyficzne dla NGINX Plus dyrektywy są poprawnie wyrenderowane
default/converge.yml Konfiguracja NGINX z konfiguracją jak najbardziej zbliżoną do domyślnej
push_config/converge.yml Wypchnięcie istniejącej konfiguracji NGINX z Twojego systemu na instancję NGINX
reverse_proxy/converge.yml Konfiguracja NGINX jako odwrotnego proxy między dwoma serwerami WWW
stub_status/converge.yml Konfiguracja metryk stanu wtyczki NGINX Open Source
web_server/converge.yml Konfiguracja NGINX jako serwera WWW

[!NOTE] Jeśli zainstalujesz to repozytorium za pośrednictwem Ansible Galaxy, będziesz musiał zmienić zmienną include_role w przykładowych playbookach z ansible-role-nginx-config na nginxinc.nginx_config.

Inne Zbiory i Role NGINX Ansible

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

Możesz znaleźć rolę Ansible NGINX do instalacji NGINX OSS i NGINX Plus tutaj.

Możesz znaleźć rolę Ansible NGINX App Protect do instalacji i konfiguracji NGINX App Protect WAF i 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

© F5, Inc. 2020 - 2024

Zainstaluj
ansible-galaxy install nginxinc.nginx_config
Licencja
apache-2.0
Pobrania
1.6M
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