elastic.elasticsearch
ARCHIWUM
Ten projekt nie jest już utrzymywany.
Zapraszamy do korzystania z niego i dostosowywania go do własnych potrzeb, w tym z Elasticsearch 8.x.
Aby uzyskać alternatywne doświadczenia związane z rozpoczęciem pracy, możesz spróbować jednej z tych opcji:
- Rozpocznij darmowy okres próbny w Elastic Cloud, naszej usłudze hostowanej.
- Zobacz Elastic Cloud na Kubernetes (ECK), aby uruchomić stos za pomocą Kubernetes.
- Przeczytaj nasz przewodnik Uruchamianie Elastic Stack na Dockerze.
- Zobacz Dostawcę Terraform Elastic Stack.
ansible-elasticsearch
TA ROLA JEST DLA WERSJI 7.x I 6.x, ale powinna również działać z 8.x (zobacz uwagę).
Rola Ansible dla Elasticsearch 7.x/6.x - testy były przeprowadzane na następujących platformach:
- Ubuntu 16.04
- Ubuntu 18.04
- Ubuntu 20.04
- Debian 8
- Debian 9
- Debian 10
- CentOS 7
- Amazon Linux 2
WAŻNE ZMIANY
Uwaga dotycząca wsparcia dla wielu instancji
- Jeśli używasz tylko jednej instancji, ale chcesz uaktualnić do starszej wersji ansible-elasticsearch, postępuj zgodnie z procedurą aktualizacji.
- Jeśli instalujesz więcej niż jedną instancję Elasticsearch na tym samym hoście (z różnymi portami, katalogami i plikami konfiguracyjnymi), nie aktualizuj do wersji ansible-elasticsearch >= 7.1.1, zamiast tego postępuj zgodnie z tą obejściem.
- Dla przypadków użycia wielu instancji teraz zalecamy użycie kontenerów Docker z naszymi oficjalnymi obrazami (https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html).
Usuwanie ustawień MAX_THREAD
Ansible-elasticsearch 7.5.2 usuwa opcję dostosowania maksymalnej liczby wątków, które proces może uruchomić w #637. Odkryliśmy, że ta opcja przestała działać od czasu usunięcia wsparcia dla wielu instancji w ansible-elasticsearch 7.1.1. Ta opcja zostanie dodana w następnej wersji, jeśli nadal jest istotna w kontekście najnowszych ewolucji Elasticsearch.
Zmiany dotyczące plików konfiguracyjnych
Ansible-elasticsearch 7.5.2 aktualizuje pliki konfiguracyjne dostarczane przez tę rolę w #637, które zawierały kilka opcji, które zostały wycofane w 6.x i 7.x:
/etc/default/elasticsearch
|/etc/sysconfig/elasticsearch
: nowy szablon odzwierciedla plik konfiguracyjny dostarczony przez Elasticsearch >= 6.x, usunięte parametry nie były już używane w 6.x i 7.x/etc/elasticsearch/jvm.options
: nowy szablon odzwierciedla pliki konfiguracyjne dostarczone przez Elasticsearch >= 6.x/etc/elasticsearch/log4j2.properties
:- Usunęliśmy szablon
log4j2.properties.j2
z tej roli Ansible, ponieważ był to statyczny plik, który nie wnosił żadnych specyficznych dostosowań związanych z niektórymi zmiennymi ansible. - Wdrożenie tej roli Ansible na nowych serwerach otrzyma domyślny
log4j2.properties
dostarczony przez Elasticsearch bez żadnego nadpisania. - OSTRZEŻENIE: W przypadku scenariuszy aktualizacyjnych, w których ten plik był już zarządzany przez wcześniejsze wersje ansible-elasticsearch, plik ten stanie się niezreadmierzony i nie będzie aktualizowany domyślnie. Jeśli chcesz go zaktualizować do wersji 7.5, możesz go pobrać tutaj i użyć tego pliku z zmienną Ansible
es_config_log4j2
(zobacz poniżej).
- Usunęliśmy szablon
Usunięcie dystrybucji OSS dla wersji >= 7.11.0
Od wersji Elasticsearch 7.11.0 dystrybucje OSS nie będą już dostarczane zgodnie z niedawną zmianą licencji Elasticsearch.
Ta rola Ansible zakończy działanie, jeśli oss_version
będzie ustawione na true
a es_version
większe niż 7.11.0
.
Zobacz wpis na blogu Doubling down on open, Part II po więcej szczegółów.
Jak nadpisać pliki konfiguracyjne dostarczane przez ansible-elasticsearch?
Możesz teraz nadpisać pliki konfiguracyjne swoimi własnymi wersjami za pomocą następujących zmiennych Ansible:
es_config_default: "elasticsearch.j2"
: zastąpelasticsearch.j2
swoim własnym szablonem, aby użyć niestandardowego pliku konfiguracyjnego/etc/default/elasticsearch
|/etc/sysconfig/elasticsearch
es_config_jvm: "jvm.options.j2"
: zastąpjvm.options.j2
swoim własnym szablonem, aby użyć niestandardowego pliku konfiguracyjnego/etc/elasticsearch/jvm.options
es_config_log4j2: ""
: ustaw tę zmienną na ścieżkę do swojego własnego szablonu, aby użyć niestandardowego pliku konfiguracyjnego/etc/elasticsearch/log4j2.properties
Zależności
Ta rola używa filtru json_query, który wymaga jmespath na lokalnym maszynie.
Użytkowanie
Utwórz swój playbook Ansible z własnymi zadaniami i dołącz rolę elasticsearch. Musisz mieć tę repozytorium dostępną w kontekście playbooka.
ansible-galaxy install elastic.elasticsearch,v7.17.0
Następnie stwórz swój plik yaml dodając rolę elasticsearch. Zastosowanie roli elasticsearch powiódł się w instalacji węzła na hoście.
Najprostsza konfiguracja to:
- nazwa: Prosty przykład
gospodarze: localhost
role:
- rola: elastic.elasticsearch
zmienne:
es_version: 7.17.0
Powyższe instalacje Elasticsearch 7.17.0 w pojedynczym węźle 'node1' na hostach 'localhost'.
Uwaga:
Domyślna wersja Elasticsearch jest opisana w zmiennej es_version
. Możesz nadpisać tę zmienną w swoim playbooku, aby zainstalować inną wersję.
Podczas testowania tej roli tylko z jedną wersją 7.x i jedną wersją 6.x (odpowiednio 7.17.0 i 6.8.23 w chwili pisania), ta rola powinna działać również z innymi wersjami w większości przypadków.
Ta rola używa również tagów Ansible. Uruchom swój playbook z flagą --list-tasks
, aby uzyskać więcej informacji.
Testowanie
Ten playbook używa Kitchen do CI i lokalnego testowania.
Wymagania
- Ruby
- Bundler
- Docker
- Make
Uruchamianie testów
- Upewnij się, że zcheckoutowałeś tę repozytorium jako
elasticsearch
, a nieansible-elasticsearch
. - Jeśli nie masz licencji Gold lub Platinum do testowania, możesz uruchomić wersje próbne zestawów
xpack-upgrade
dodając-trial
do zmiennejPATTERN
. - Może wlać konieczności wyraźnego określenia
VERSION=7.x
, jeśli niektóre zestawy zawodzą.
Zainstaluj zależności ruby przy użyciu bundlera
make setup
Jeśli chcesz przetestować funkcje X-Pack z licencją, musisz najpierw wyeksportować zmienną ES_XPACK_LICENSE_FILE
.
export ES_XPACK_LICENSE_FILE="$(pwd)/license.json"
Aby wykonać konwergencję na hoście Ubuntu 16.04 uruchamiającym X-Pack
$ make converge
Aby uruchomić testy
$ make verify
Aby wypisać wszystkie różne zestawy testowe
$ make list
Domyślnym zestawem testowym jest Ubuntu 16.04 z X-Pack. Jeśli chcesz przetestować inny zestaw, możesz to nadpisać, używając zmiennej PATTERN
$ make converge PATTERN=security-centos-7
PATTERN
to wzorzec kuchenny, który może pasować do wielu zestawów. Aby uruchomić wszystkie testy dla CentOS
$ make converge PATTERN=centos-7
Domyślna wersja to 7.x. Jeśli chcesz przetestować 6.x, możesz to nadpisać zmienną VERSION
, na przykład:
$ make converge VERSION=6.x PATTERN=security-centos-7
Po zakończeniu testowania możesz wszystko oczyścić, używając
$ make destroy-all
Podstawowa konfiguracja Elasticsearch
Wszystkie parametry konfiguracyjne Elasticsearch są wspierane. Osiąga się to za pomocą mapy parametrów konfiguracyjnych 'es_config', która jest serializowana do pliku elasticsearch.yml. Wykorzystanie mapy zapewnia, że playbook Ansible nie musi być aktualizowany, aby odzwierciedlić nowe/wycofane/parametry konfiguracyjnych wtyczek.
Oprócz mapy es_config, obsługiwanych jest kilka innych parametrów dla dodatkowych funkcji, np. instalacji skryptów. Można je znaleźć w pliku defaults/main.yml roli.
Poniżej ilustracja zastosowania parametrów konfiguracyjnych do instancji Elasticsearch.
- nazwa: Elasticsearch z niestandardową konfiguracją
gospodarze: localhost
role:
- rola: elastic.elasticsearch
zmienne:
es_data_dirs:
- "/opt/elasticsearch/data"
es_log_dir: "/opt/elasticsearch/logs"
es_config:
node.name: "node1"
cluster.name: "custom-cluster"
discovery.seed_hosts: "localhost:9301"
http.port: 9201
transport.port: 9301
node.data: false
node.master: true
bootstrap.memory_lock: true
es_heap_size: 1g
es_api_port: 9201
Podczas gdy rola instaluje Elasticsearch z domyślnymi parametrami konfiguracyjnymi, powinno się skonfigurować, aby zapewnić, że klaster zostanie prawidłowo utworzony:
es_config['http.port']
- port http dla węzłaes_config['transport.port']
- port transportowy dla węzłaes_config['discovery.seed_hosts']
- lista odnalezienia unicastowego, w formacie oddzielonym przecinkiem"<host>:<port>,<host>:<port>"
(zazwyczaj dedykowane mistrzom klastra)es_config['cluster.initial_master_nodes']
- dla 7.x i powyżej lista węzłów uprawnionych do bycia mistrzem, aby uruchomić klaster, w formacie oddzielonym przecinkami"<node.name>:<port>,<node.name>:<port>"
(zazwyczaj nazwy węzłów dedykowanych mistrzów klastra)es_config['network.host']
- ustawia zarówno network.bind_host, jak i network.publish_host na tę samą wartość hosta. Ustawienie network.bind_host pozwala kontrolować, do jakich różnych komponentów sieciowych będą przypisane.
Ustawienie network.publish_host
pozwala kontrolować gospodarza, który węzeł opublikuje siebie w klastrze, aby inne węzły mogły się do niego połączyć.
Zobacz https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html, aby uzyskać więcej informacji na temat domyślnego zachowania bind oraz dostępnych opcji. Rola nie próbuje narzucać ustawienia tych parametrów i wymaga, aby użytkownicy odpowiednio je określili. Zaleca się wypisanie węzłów mistrzowskich i dystrybuowanie ich jako pierwsze, gdzie to możliwe.
Bardziej złożony przykład:
- nazwa: Elasticsearch z niestandardową konfiguracją
gospodarze: localhost
role:
- rola: elastic.elasticsearch
zmienne:
es_data_dirs:
- "/opt/elasticsearch/data"
es_log_dir: "/opt/elasticsearch/logs"
es_config:
node.name: "node1"
cluster.name: "custom-cluster"
discovery.seed_hosts: "localhost:9301"
http.port: 9201
transport.port: 9301
node.data: false
node.master: true
bootstrap.memory_lock: true
es_heap_size: 1g
es_start_service: false
es_api_port: 9201
es_plugins:
- plugin: ingest-attachment
Ważne uwagi
Rola używa es_api_host i es_api_port aby komunikować się z węzłem dla działań, które można zrealizować tylko przez http, np. instalację szablonów oraz sprawdzenie, że WĘZEŁ JEST AKTYWNY. Domyślnie są to "localhost" oraz 9200 odpowiednio. Jeśli węzeł jest wdrażany, aby przywiązać go do innego hosta lub portu, muszą one zostać zmienione.
Używaj es_data_dirs oraz es_log_dir wyłącznie do dostosowywania odpowiednio katalogów danych i logów. Kiedy używasz razem z es_config['path.data']
oraz es_config['path.logs']
, spowoduje to wygenerowanie podwójnych kluczy data- i logs- w pliku elasticsearch.yml
i spowoduje uruchomienie elastsciente.
Instalacje serwerowe z wieloma węzłami
Zastosowanie roli elasticsearch prowadzi do instalacji węzła na hoście. Wskazanie roli wielokrotnie dla hosta prowadzi do zainstalowania wielu węzłów dla hosta.
Poniżej przykład wdrożenia na trzech serwerach. Pierwszy serwer pełni rolę mistrza i jest deklarowany jako pierwszy. Choć nie jest to obowiązkowe, zaleca się to w każdej konfiguracji klastra z wieloma węzłami. Dwa pozostałe serwery pełnią rolę węzłów danych.
Zauważ, że nie wspieramy już instalacji więcej niż jednego węzła na tym samym hoście
- gospodarze: master_node
role:
- rola: elastic.elasticsearch
zmienne:
es_heap_size: "1g"
es_config:
cluster.name: "test-cluster"
cluster.initial_master_nodes: "elastic02"
discovery.seed_hosts: "elastic02:9300"
http.host: 0.0.0.0
http.port: 9200
node.data: false
node.master: true
transport.host: 0.0.0.0
transport.port: 9300
bootstrap.memory_lock: false
es_plugins:
- plugin: ingest-attachment
- gospodarze: data_node_1
role:
- rola: elastic.elasticsearch
zmienne:
es_data_dirs:
- "/opt/elasticsearch"
es_config:
cluster.name: "test-cluster"
cluster.initial_master_nodes: "elastic02"
discovery.seed_hosts: "elastic02:9300"
http.host: 0.0.0.0
http.port: 9200
node.data: true
node.master: false
transport.host: 0.0.0.0
transport.port: 9300
bootstrap.memory_lock: false
es_plugins:
- plugin: ingest-attachment
- gospodarze: data_node_2
role:
- rola: elastic.elasticsearch
zmienne:
es_config:
cluster.name: "test-cluster"
discovery.seed_hosts: "elastic02:9300"
http.host: 0.0.0.0
http.port: 9200
node.data: true
node.master: false
transport.host: 0.0.0.0
transport.port: 9300
bootstrap.memory_lock: false
es_plugins:
- plugin: ingest-attachment
Parametry również mogą być przypisywane do hostów za pomocą pliku inwentarza, jeśli jest to pożądane.
Upewnij się, że Twoje hosty są zdefiniowane w swoim pliku inventory
z odpowiednimi wartościami ansible_ssh_host
, ansible_ssh_user
oraz ansible_ssh_private_key_file
.
Następnie uruchom to:
ansible-playbook -i hosts ./twoj-playbook.yml
Instalowanie funkcji X-Pack
es_role_mapping
Plik mapowania ról zadeklarowany jako yml, opisany tutaj
es_role_mapping:
power_user:
- "cn=admins,dc=example,dc=com"
user:
- "cn=users,dc=example,dc=com"
- "cn=admins,dc=example,dc=com"
es_users
- Użytkownicy mogą być zadeklarowani tutaj jako yml. Dwie podklucze 'native' i 'file' określają królestwo, w którym użytkownik jest tworzony. Pod każdą z tych kluczy użytkownicy powinni być zadeklarowani jako wpisy yml, np.
es_users:
native:
kibana4_server:
password: changeMe
roles:
- kibana4_server
file:
es_admin:
password: changeMe
roles:
- admin
testUser:
password: changeMeAlso!
roles:
- power_user
- user
es_roles
- Role Elasticsearch mogą być zadeklarowane tutaj jako yml. Dwie podklucze 'native' i 'file' określają sposób, w jaki rola jest tworzona, tj. za pomocą pliku lub wywołania http (native). Pod każdą kluczem wypisz role z odpowiednimi uprawnieniami, używając formatowania opartego na pliku opisanego tutaj, np.
es_roles:
file:
admin:
cluster:
- all
indices:
- names: '*'
privileges:
- all
power_user:
cluster:
- monitor
indices:
- names: '*'
privileges:
- all
user:
indices:
- names: '*'
privileges:
- read
kibana4_server:
cluster:
- monitor
indices:
- names: '.kibana'
privileges:
- all
native:
logstash:
cluster:
- manage_index_templates
indices:
- names: 'logstash-*'
privileges:
- write
- delete
- create_index
es_xpack_license
- Licencja X-Pack. Licencja jest obiektem json. Ustaw zmienną bezpośrednio (możliwe, że chronioną za pomocą Ansible vault) lub z pliku w projekcie Ansible na maszynie sterującej przy użyciu funkcji lookup:
es_xpack_license: "{{ lookup('file', playbook_dir + '/files/' + es_cluster_name + '/license.json') }}"
Jeśli nie masz licencji, możesz włączyć 30-dniowy okres próbny, ustawiając es_xpack_trial
na true
.
Parametry konfiguracyjne X-Pack mogą być dodawane do pliku elasticsearch.yml za pomocą normalnego parametru es_config
.
Dla pełnego przykładu zobacz tutaj
Ważna informacja dotycząca konfiguracji królestwa native
Aby skonfigurować użytkowników i role native, rola wywołuje API Elasticsearch. Biorąc pod uwagę, że bezpieczeństwo jest zainstalowane, wymaga to zdefiniowania dwóch parametrów:
es_api_basic_auth_username
- nazwa użytkownika adminaes_api_basic_auth_password
- hasło admina
Te mogą być ustawione na użytkownika zadeklarowanego w oparciu o realm, z uprawnieniami administracyjnymi, lub domyślnego superużytkownika "elastic" (domyślne hasło to changeme).
SSL/TLS X-Pack Security
- Aby skonfigurować klaster za pomocą SSL/TLS dla komunikacji HTTP i/lub transportowych, postępuj zgodnie z procedurą konfiguracji SSL/TLS
Dodatkowa konfiguracja
Oprócz es_config, następujące parametry pozwalają na dostosowanie wersji Java i Elasticsearch oraz zachowanie roli. Opcje obejmują:
oss_version
Domyślniefalse
. Ustawienie go natrue
spowoduje zainstalowanie wydania oss Elasticsearch (tylko dla wersji <7.11.0).es_xpack_trial
Domyślniefalse
. Ustawienie go natrue
rozpocznie 30-dniowy okres próbny, gdy klaster będzie uruchomiony.es_version
(np. "7.17.0").es_api_host
Nazwa hosta używana do działań wymagających HTTP, np. instalacji szablonów. Domyślnie "localhost".es_api_port
Port używany do działań wymagających HTTP, np. instalacji szablonów. Domyślnie 9200. ZMIANY, JEŚLI PORT HTTP NIE JEST 9200es_api_basic_auth_username
Nazwa użytkownika Elasticsearch do dokonywania działań administracyjnych. Używana, gdy bezpieczeństwo jest włączone. Upewnij się, że ten użytkownik ma uprawnienia administracyjne.es_api_basic_auth_password
Hasło przypisane do użytkownika zadeklarowanego wes_api_basic_auth_username
.es_delete_unmanaged_file
Domyślnietrue
. Ustaw na false, aby zachować użytkowników z realm plików, którzy zostali dodani poza ansible.es_delete_unmanaged_native
Domyślnietrue
. Ustaw na false, aby zachować użytkowników realm native, którzy zostali dodani poza ansible.es_start_service
(true (domyślnie) lub false)es_plugins_reinstall
(true lub false (domyślnie) )es_plugins
tablica definicji wtyczek, np.:es_plugins: - plugin: ingest-attachment
es_path_repo
Ustawia listę dozwolonych lokalnych repozytoriów do tworzenia kopii zapasowych.es_action_auto_create_index
Ustawia wartość dla automatycznego tworzenia indeksów, użyj poniższej składni do określenia indeksów (w przeciwnym razie true/false): es_action_auto_create_index: '[".watches", ".triggered_watches", ".watcher-history-*"]'es_allow_downgrades
Tylko do celów deweloperskich. (true lub false (domyślnie) )es_java_install
Jeśli ustawione na true, Java zostanie zainstalowana. (false (domyślnie dla 7.x) lub true (domyślnie dla 6.x))update_java
Aktualizuje Javę do najnowszej wersji. (true lub false (domyślnie))es_max_map_count
maksymalna liczba VMA (Virtual Memory Areas), które proces może posiadać. Domyślnie 262144.es_max_open_files
maksymalna liczba deskryptorów plików, które może otworzyć ten proces. Domyślnie 65536.es_debian_startup_timeout
jak długo skrypty startowe SysV w systemach rodzaju Debian czekają na uruchomienie usługi, w sekundach. Domyślnie 10 sekund.es_use_repository
Ustawienie tego nafalse
zatrzyma Ansible przed używaniem oficjalnych pakietów Elastic z jakiekolwiek repozytorium skonfigurowanego w systemie.es_add_repository
Ustawienie tego nafalse
zatrzyma Ansible przed dodawaniem oficjalnych repozytoriów pakietów Elastic (jeśli es_use_repository jest prawda), jeśli chcesz użyć już obecnego repozytorium.es_custom_package_url
adres URL pakietu rpm lub deb do zainstalowania przez Ansible. Korzystając z tego, również musisz ustawićes_use_repository: false
i upewnić się, żees_version
odpowiada wersji instalowanej z własnego adresu URL. Np.es_custom_package_url: https://downloads.example.com/elasticsearch.rpm
.
Wcześniejsze przykłady ilustrują instalację wtyczek za pomocą es_plugins
. Dla oficjalnych wtyczek nie jest wymagana wersja ani separator źródła. Skrypt wtyczki określi odpowiednią wersję wtyczki na podstawie docelowej wersji Elasticsearch. Dla wtyczek zewnętrznych podaj pełny adres URL. Podejście to NIE powinno być stosowane dla wtyczki X-Pack. Zobacz X-Pack powyżej dla szczegółów.
Jeśli instalujesz Monitoring lub Alerting, upewnij się, że wtyczka licencjonująca jest również wymieniona. Obecna konfiguracja bezpieczeństwa ma ograniczone wsparcie, ale więcej wsparcia jest planowane na późniejsze wersje.
Aby skonfigurować X-Pack do wysyłania e-maili, należy dodać następującą konfigurację do roli. Kiedy require_auth jest prawda, należy również podać użytkownika i hasło. Jeśli nie, mogą one zostać usunięte:
es_mail_config:
account: <funkcjonalna nazwa>
profile: standard
from: <adres nadawcy>
require_auth: <true lub false>
host: <domena mailowa>
port: <numer portu>
user: <adres e-mail> --opcjonalnie
pass: <hasło> --opcjonalnie
es_user
- domyślnie elasticsearch.es_group
- domyślnie elasticsearch.es_user_id
- domyślnie niezdefiniowane.es_group_id
- domyślnie niezdefiniowane.
Zarówno es_user_id
, jak i es_group_id
muszą być ustawione, aby identyfikatory użytkownika i grupy mogły zostać ustalone.
es_restart_on_change
- domyślnie prawda. Jeśli fałsz, zmiany nie spowodują uruchomienia Elasticsearch.es_plugins_reinstall
- domyślnie fałsz. Jeśli prawda, wszystkie aktualnie zainstalowane wtyczki zostaną usunięte z węzła. Wymienione wtyczki zostaną następnie ponownie zainstalowane.
Aby dodać, zaktualizować lub usunąć wpisy elasticsearch.keystore, użyj poniższej zmiennej:
# stan jest opcjonalny i domyślnie ustawiony na obecny
es_keystore_entries:
- key: someKeyToAdd
value: someValue
state: present
- key: someKeyToUpdate
value: newValue
# stan: obecny
force: Tak
- key: someKeyToDelete
state: absent
Ta rola dostarcza przykładowe szablony znajdujące się w katalogu test/integration/files/templates-7.x. Zmienna es_templates_fileglob
jest używana z pętlą Ansible with_fileglob. Podczas ustawiania globów upewnij się, że używasz absolutnej ścieżki.
Proxy
Aby zdefiniować proxy globalnie, ustaw następujące zmienne:
es_proxy_host
- globalny host proxyes_proxy_port
- globalny port proxy
Uwagi
- Rola zakłada, że użytkownik/grupa istnieje na serwerze. Pakiety elasticsearch tworzą domyślnego użytkownika elasticsearch. Jeśli to trzeba zmienić, upewnij się, że użytkownik istnieje.
- Playbook polega na inventory_name każdego hosta, aby zapewnić unikalność jego katalogów.
- KitchenCI zostało użyte do testowania. Jest to używane do potwierdzenia, że obrazy osiągają odpowiedni stan po pierwszym zastosowaniu gry. Obecnie testujemy najnowszą wersję 7.x i 6.x na wszystkich wspieranych platformach.
- Rola dąży do bycia idempotentna. Uruchamianie roli kilka razy, bez zmian, powinno skutkować brakiem zmiany stanu na serwerze. Jeśli konfiguracja zostanie zmieniona, zostanie zastosowana i Elasticsearch zostanie uruchomiony ponownie, jeśli to konieczne.
- Aby uruchomić testy x-pack, wymagany jest plik licencyjny z włączonym zabezpieczeniem. Ustaw zmienną środowiskową
ES_XPACK_LICENSE_FILE
na pełną ścieżkę pliku licencji przed uruchomieniem testów. Licencja próbna jest odpowiednia i może być używana, ustawiająces_xpack_trial
natrue
.
WAŻNE UWAGI DOTYCZĄCE ZARZĄDZANIA WTYCZKAMI
- Jeśli wersja ES ulegnie zmianie, wszystkie wtyczki zostaną usunięte. Te wymienione w playbooku zostaną na nowo zainstalowane. Zachowanie to jest wymagane w ES 6.x.
- Jeśli w playbooku nie wymieniono wtyczek dla węzła, wszystkie aktualnie zainstalowane wtyczki zostaną usunięte.
- Rola wspiera automatyczne wykrywanie różnic między zainstalowanymi a wymienionymi wtyczkami - instalując te wymienione, a nie zainstalowane, i usuwając te zainstalowane, ale niewymienione. Jeżeli użytkownik pragnie ponownie zainstalować wtyczki, powinien ustawić es_plugins_reinstall na prawda. Spowoduje to, że wszystkie aktualnie zainstalowane wtyczki zostaną usunięte, a te wymienione zostaną zainstalowane.
Zapytania dotyczące Użycia
Chętnie odpowiemy na pytania dotyczące używania roli. Jednak aby utrzymać listę problemów w GitHubie skupioną na "problemach", prosimy społeczność o zadawanie pytań na https://discuss.elastic.co/c/elasticsearch. To jest monitorowane przez opiekunów.
ansible-galaxy install elastic.elasticsearch