nginxinc.nginx_config
👾 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 zansible-role-nginx-config
nanginxinc.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
Informacje o autorze
© F5, Inc. 2020 - 2024
Official Ansible role for configuring NGINX
ansible-galaxy install nginxinc.nginx_config