GuillaumeSmaha.gluu-setup
Ansible Gluu: Ustawienie roli
gluu-setup to rola Ansible, która umożliwia łatwą instalację serwera Gluu, jego modułów i certyfikatu.
W trybie klastra rola zainstaluje klucz SSH, aby umożliwić dostęp menedżera klastra, rozprowadzi publiczne certyfikaty między wszystkimi serwerami, zaktualizuje serwer LDAP, aby akceptować połączenia zewnętrzne oraz zaktualizuje konfigurację, aby korzystać ze wszystkich serwerów LDAP.
Aby skorzystać z funkcji trybu klastra w tej roli, wszystkie serwery gluu muszą być w grupie gluu-servers
, a Gluu Cluster Manager musi być w grupie gluu-cluster-manager
.
Historia
Otwarty serwer autoryzacyjny i zarządzania dostępem API Gluu umożliwia organizacjom oferowanie jednolitych logowań, silnej autoryzacji i centralizacji.
Wymagania
Aby wdrożyć, potrzebujesz:
- Ansible na swoim komputerze do wdrażania
- Musisz również zainstalować tę zależność Pythona:
- dnspython
$ pip install -r requirements.txt
Instalacja
gluu-setup to rola Ansible, która jest dystrybuowana globalnie za pomocą Ansible Galaxy. Aby zainstalować rolę gluu-setup, możesz użyć następującego polecenia.
$ ansible-galaxy install GuillaumeSmaha.gluu-setup
Aktualizacja
Jeśli chcesz zaktualizować rolę, musisz dodać parametr --force przy instalacji. Sprawdź następujące polecenie:
$ ansible-galaxy install --force GuillaumeSmaha.gluu-setup
Zmienne roli
vars:
# ===================================
# Gluu na pojedynczym węźle
# ===================================
# Określ niestandardową wersję pakietu do zainstalowania.
# Aby uzyskać listę dostępnych wersji pakietów, odwiedź: https://gluu.org/docs/ce/
gluu_version: 3.1.7
# Określ nazwę hosta używaną przez Gluu.
gluu_hostname: '{{ ansible_ssh_host }}'
# Adres IP hosta.
gluu_ip: '{{ lookup("dig", "{{ gluu_internal_hostname }}.") | regex_replace("^NXDOMAIN$", "") | default(gluu_internal_hostname, true) }}'
# Lista modułów do zainstalowania
gluu_modules:
- oxauth
- oxtrust
- ldap
- httpd
# Słownik certyfikatów dla Gluu.
# Możesz dodać klucz, który chcesz.
gluu_certificates:
# Typ serwera LDAP
gluu_ldap_server: openldap
# Niestandardowy certyfikat dla serwera i klienta LDAP
gluu_ldap_certificate:
cert_ca_file:
cert_file:
cert_key_file:
# Plik do dostosowania schematu LDAP
gluu_ldap_custom_schema_file: custom_schema.json.default
# Możesz ustawić hasło LDAP.
gluu_ldap_password:
# Baza inum Gluu
gluu_inum_base:
# inum organizacji
gluu_inum_org:
# inum urządzenia
gluu_inum_appliance:
# Właściwości dla automatycznie generowanych certyfikatów (samopodpisanych)
gluu_certificate_properties:
org_name: Organizacja
country_code: CA
city: Montreal
state: QC
# ===================================
# Gluu na wielu węzłach (klaster)
# ===================================
# Określ, czy serwer jest w klastrze.
gluu_cluster: False
# Gdy gluu_cluster = True, zdefiniuj wewnętrzną nazwę hosta.
gluu_internal_hostname: '{{ gluu_hostname }}'
# Gdy gluu_cluster = True, określ, czy są wiele serwerów LDAP z replikacją.
gluu_cluster_ldap_replication: False
# Gdy gluu_cluster = True, zdefiniuj, czy konfiguracja LDAP będzie ustawiana przez ansible czy za pomocą GUI menedżera klastra.
gluu_cluster_ldap_replication_without_cluster_manager: False
# Gdy gluu_cluster = True, możesz ustawić nazwy hostów zewnętrznych serwerów LDAP Gluu.
gluu_ldap_hostname:
Wdrażanie
Aby wdrożyć, należy wykonać kilka kroków:
- Utwórz nowy plik
hosts
. Sprawdź dokumentację ansible inventory, jeśli potrzebujesz pomocy. - Utwórz nowy playbook do wdrażania swojej aplikacji, na przykład
deploy.yml
- Ustaw zmienne roli (zobacz Zmienne roli)
- Dołącz rolę
GuillaumeSmaha.gluu-setup
jako część play - Uruchom playbook wdrażający
ansible-playbook -i hosts deploy.yml
Jeśli wszystko zostało poprawnie ustawione, to polecenie zainstaluje Gluu Cluster Manager na hoście.
Przykład Playbooka
W folderze example
znajdziesz przykład projektu, który pokazuje, jak wdrożyć aplikację.
Aby go uruchomić, musisz mieć zainstalowanego Vagranta oraz tę rolę. Proszę sprawdzić https://www.vagrantup.com, aby uzyskać więcej informacji o Vagrancie oraz w sekcji Instalacja.
$ cd example
$ vagrant plugin install vagrant-lxc
$ vagrant plugin install vagrant-hostmanager
$ vagrant up --provider=lxc
$ ansible-galaxy install GuillaumeSmaha.gluu-setup
$ ansible-playbook -i env/ubuntu deploy.yml
$ ansible-playbook -i env/centos deploy.yml
Dostęp do Gluu poprzez:
lub
Projekty Przykładowe
Pełny przykład playbooka znajdziesz tutaj:
ansible-galaxy install GuillaumeSmaha.gluu-setup