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:

ansible-elasticsearch

Ansible Galaxy

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).

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ąp elasticsearch.j2 swoim własnym szablonem, aby użyć niestandardowego pliku konfiguracyjnego /etc/default/elasticsearch|/etc/sysconfig/elasticsearch
  • es_config_jvm: "jvm.options.j2": zastąp jvm.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 nie ansible-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 zmiennej PATTERN.
  • 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ła
  • es_config['transport.port'] - port transportowy dla węzła
  • es_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 admina
  • es_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

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ślnie false. Ustawienie go na true spowoduje zainstalowanie wydania oss Elasticsearch (tylko dla wersji <7.11.0).

  • es_xpack_trial Domyślnie false. Ustawienie go na true 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 9200

  • es_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 w es_api_basic_auth_username.

  • es_delete_unmanaged_file Domyślnie true. Ustaw na false, aby zachować użytkowników z realm plików, którzy zostali dodani poza ansible.

  • es_delete_unmanaged_native Domyślnie true. 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 na false zatrzyma Ansible przed używaniem oficjalnych pakietów Elastic z jakiekolwiek repozytorium skonfigurowanego w systemie.

  • es_add_repository Ustawienie tego na false 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ę, że es_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 proxy
  • es_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ąc es_xpack_trial na true.

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.

O projekcie

Elasticsearch for Linux

Zainstaluj
ansible-galaxy install elastic.elasticsearch
Licencja
other
Pobrania
4.2M
Właściciel