nginxinc.nginx_management_suite
Rola Ansible do Zarządzania NGINX
Ta rola instaluje wyłącznie Zestaw Zarządzania NGINX (NMS).
Uwaga: Ta rola jest wciąż w aktywnym rozwoju. Mogą występować nieznane problemy, a zmienne roli mogą się zmieniać w miarę postępu prac.
Wymagania
- Pliki licencyjne Zestawu Zarządzania NGINX
- Rola Ansible NGINX (nginxinc.nginx)
Pliki Certyfikatów Zestawu Zarządzania NGINX
Aby zainstalować NMS, konieczne są pliki certyfikatów NMS do uzyskania dostępu do repozytorium. Zaloguj się do MyF5 lub podążaj za linkiem w wiadomości e-mail aktywacyjnej, aby pobrać pliki repozytoriów NMS .crt i .key:
- nginx-mgmt-suite-trial.key
- nginx-mgmt-suite-trial.crt
UWAGA: Upewnij się, że zmienisz nazwy tych plików na nginx-repo.key i nginx-repo.crt.
Instancja NGINX
NMS wymaga instancji NGINX, która może być NGINX OSS lub NGINX Plus jako frontend. Ta rola obsługuje to, definiując zależność do Roli Ansible NGINX, o nazwie nginxinc.nginx. Z powodu tej zależności możesz ustawiać zmienne związane z nginxinc.nginx gdy używasz tej roli. Na przykład, nginx_type jest zmienną nginxinc.nginx, która może być ustawiona w sposób, w jaki ustawia się inne zmienne Ansible. Jeśli twój playbook definiuje nginx_type: plus, ta rola NMS wywoła rolę nginxinc.nginx, która zainstaluje NGINX Plus. Szczegóły znajdziesz w Roli Ansible NGINX.
Główna różnica pomiędzy użyciem NGINX OSS lub NGINX Plus zależy od tego, którą opcję autoryzacji planujesz użyć.
Ansible
Ta rola jest rozwijana i testowana z użyciem utrzymywanych wersji rdzenia Ansible (po
2.12).Ta rola została opracowana i przetestowana z użyciem nginxinc.nginx w wersji 0.24.0.
- AKTUALIZACJA 24.06.24: Użyj najnowszej wersji nginxinc.nginx, przykład
requirements.ymlpokazany tutaj
- AKTUALIZACJA 24.06.24: Użyj najnowszej wersji nginxinc.nginx, przykład
Używając tej roli, musisz również zainstalować poniższe kolekcje. Dodatkowe informacje dotyczące instalacji tych kolekcji znajdują się w sekcji Instalacja.
- ansible.posix
- community.general
- community.crypto
- community.docker (Wymagane tylko, jeśli planujesz używać Molecule)
Musisz uruchomić tę rolę jako użytkownik root, używając parametru Ansible
become. Upewnij się, że ustawiłeś odpowiednie uprawnienia na docelowych hostach.Instrukcje dotyczące instalacji Ansible można znaleźć na stronie Ansible.
Jinja2
- Ta rola używa szablonów Jinja2. Rdzeń Ansible domyślnie instaluje Jinja2, ale w zależności od twojej instalacji i/lub ścieżki aktualizacji, możesz uruchamiać nieaktualną wersję. Minimalna wymagana wersja Jinja2 dla prawidłowego działania roli to
3.1. - Instrukcje dotyczące instalacji Jinja2 znaleźć można na stronie Jinja2.
Molecule (Opcjonalne)
Chcesz to wykorzystać, jeśli planujesz wnosić wkład w tę rolę ansible.
Molecule służy do testowania różnych funkcjonalności roli. Zalecana wersja Molecule do testowania tej roli to
4.0.1.Instrukcje dotyczące instalacji Molecule można znaleźć na stronie Molecule. Będziesz musiał również zainstalować sterownik Docker dla Molecule.
Aby uruchomić testy Molecule, musisz skopiować swoją licencję NMS do folderu roli
files/license.Możesz alternatywnie dodać certyfikat i klucz repozytorium Zestawu Zarządzania NGINX do lokalnego środowiska. Uruchom poniższe polecenia, aby wyeksportować te pliki jako zmienne kodowane w base64 i wykonać testy Molecule:
export NGINX_CRT=$( cat <path to your certificate file> | base64 ) export NGINX_KEY=$( cat <path to your key file> | base64 ) molecule test -s plus
Użycie
Wykonaj poniższe kroki, aby zainstalować Zestaw Zarządzania NGINX (nms) przy użyciu tej roli ansible.
Utwórz Plik Inwentarza
Utwórz plik inwentarza o nazwie inventory, z następującą zawartością.
[nms]
<hostname> ansible_user=<adminUserName> ansible_become=yes
Zainstaluj Wymagane Role i Kolekcje
Zainstaluj wymaganą paczkę, której potrzebuje ta rola. Utwórz plik requirements.yml z poniższą zawartością.
---
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 # Wymagany tylko, jeśli planujesz używać Molecule (patrz poniżej)
version: 3.4.2
Użyj poniższego polecenia do instalacji roli ansible i kolekcji.
ansible-galaxy install -r requirements.yml
Jeśli już je masz zainstalowane, ale potrzebujesz zaktualizować do nowszych wersji, użyj poniższego polecenia.
ansible-galaxy install -fr requirements.yml
Przenieś Certyfikaty NGINX do Znanej Lokalizacji
W tym przykładzie przeniesiemy certyfikaty NGINX do tego samego katalogu, w którym utworzymy plik playbook do instalacji NMS.
Utwórz Playbook
Utwórz plik playbook o nazwie nms-install.yml, korzystając z poniższego przykładu. Tutaj instalujemy NMS z NGINX Plus.
Upewnij się, że określisz ścieżkę, w której znajdują się twoje certyfikaty NGINX. W tym przykładzie są one w tej samej ścieżce co ten playbook.
- name: Instalacja Zestawu Zarządzania NGINX
hosts: nms
tasks:
- name: Instalacja NMS
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
Zainstaluj NMS
Uruchom poniższe polecenie, aby wykonać playbook, który zainstaluje NMS.
ansible-playbook -i inventory nms-adm-install.yml
Korzystanie z Najnowszej Wersji Zestawu NMS Roli Ansible, znanej jako gałąź main
Istnieje kilka metod, jeśli chcesz używać najnowszej wersji tej roli.
Użyj następującego fragmentu w swoim pliku
requirements.yml.roles: - src: https://github.com/nginxinc/ansible-role-nginx-management-suite.git version: mainUżyj
git clone https://github.com/nginxinc/ansible-role-nginx-management-suite.git, aby pobrać najnowszy zatwierdzony commit (gałąźmain) roli z GitHub.
Platformy
Ta rola Ansible obsługuje wszystkie platformy wspierane przez Zestaw Zarządzania NGINX:
Zestaw Zarządzania NGINX
Amazon Linux 2:
- dowolny
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)
Uwaga: Możesz także użyć tej roli do zainstalowania Zestawu Zarządzania NGINX na kompatybilnych, ale nieobsługiwanych platformach na własne ryzyko.
Zmienne Roli
Ta rola ma wiele zmiennych. Opisy i wartości domyślne dla wszystkich tych zmiennych można znaleźć w folderze defaults/main/ w następującym pliku:
| Nazwa | Opis |
|---|---|
main.yml |
Zmienne instalacji NMS |
Podobnie, opisy i wartości domyślne dla predefiniowanych zmiennych można znaleźć w folderze vars/ w następującym pliku:
| Nazwa | Opis |
|---|---|
main.yml |
Lista wspieranych zmiennych instalacji NMS |
Przykłady Playbooków
Działające przykłady playbooków można znaleźć w folderze molecule/ w następujących plikach:
| Nazwa | Opis |
|---|---|
default/converge.yml |
Instalacja NGINX OSS i NMS |
plus/converge.yml |
Instalacja NGINX Plus i NMS |
upgrade/converge.yml |
Uaktualnienie NMS |
modules/converge.yml |
Instalacja NGINX OSS i NMS oraz modułu Menedżera Łączności z API |
service-stopped/converge.yml |
Instalacja NGINX OSS i NMS, umożliwiająca działanie usług w wybranym stanie |
Zwróć uwagę, że jeśli zainstalujesz to repozytorium przez Ansible Galaxy, musisz zastąpić zmienną roli w przykładowych playbookach z ansible-role-nginx-management-suite na nginxinc.nginx_management_suite.
Inne Kolekcje i Role NGINX Ansible
Możesz znaleźć kolekcję 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 konfiguracji NGINX tutaj.
Możesz znaleźć rolę Ansible NGINX Unit do instalacji NGINX Unit tutaj.
Licencja
Informacje o Autorach
© F5, Inc. 2023
ansible-galaxy install nginxinc.nginx_management_suite