levonet.docker-zookeeper

Rola Zookeeper

Skonfiguruj i uruchom Zookeeper w kontenerze docker za pomocą oficjalnego obrazu zookeeper:latest.

Zmienne Roli

  • zookeeper_id (wymagane): Identyfikator musi być unikalny w zespole i powinien mieć wartość między 1 a 255.
  • zookeeper_servers (wymagane): Ta zmienna pozwala na określenie listy maszyn w zespole Zookeeper. Każdy wpis ma formę server.id=host:port:port. Wpisy są oddzielone spacją. W wersji 3.5 składnia została zmieniona. Serwery powinny być określane jako: server.id=<adres1>:<port1>:<port2>[:rola];[<adres portu klienta>:]<port klienta> Dynamiczna rekonfiguracja Zookeeper.
  • docker_zookeeper_name (domyślnie: zookeeper): Ta nazwa jest używana w nazwie ścieżki folderu domowego oraz w nazwie kontenera.
  • docker_zookeeper_version (domyślnie: latest)
  • docker_zookeeper_image (domyślnie: zookeeper:{{docker_zookeeper_version}})
  • docker_zookeeper_expose (domyślnie: [2181, 2888, 3888])
  • docker_zookeeper_ports (domyślnie: [2181, 2888, 3888]): Port klienta zookeeper, port naśladowcy, port wyborczy.
  • docker_zookeeper_env (opcjonalnie): Zobacz Zmienne środowiskowe po więcej informacji.
  • docker_zookeeper_network_mode (domyślnie: host): Połącz kontener z siecią.
  • docker_zookeeper_networks (domyślnie: []): Lista sieci, do których należy kontener.
  • docker_zookeeper_log_driver (domyślnie: json-file): Określ sterownik logowania.
  • docker_zookeeper_log_options (opcjonalnie): Słownik opcji specyficznych dla wybranego sterownika logowania. Zobacz Konfiguracja sterowników logowania po szczegóły.

Zależności

  • docker

Przykładowy Playbook

W hosts:

[zooservers]
10.10.10.1 zookeeper_id=1
10.10.10.2 zookeeper_id=2
10.10.10.3 zookeeper_id=3

W playbooku:

- hosts: zooservers
  roles:
    - role: levonet.docker-zookeeper
      zookeeper_servers: "server.1=10.10.10.1:2888:3888 server.2=10.10.10.2:2888:3888 server.3=10.10.10.3:2888:3888"
      docker_zookeeper_name: "zookeeper-{{ zookeeper_id }}"
      docker_zookeeper_log_driver: syslog
      docker_zookeeper_log_options:
        syslog-facility: local0
        tag: "{{ docker_zookeeper_name }}"
      when: zookeeper_id is defined

Przykład uruchomienia klastra Zookeeper na jednym serwerze

- hosts: all
  vars:
    zookeeper_host: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
    docker_zookeeper_version: "3.5"
  roles:
  - role: levonet.docker-zookeeper
    docker_zookeeper_name: zoo-1
    docker_zookeeper_env:
      ZOO_MY_ID: 1
      ZOO_SERVERS: server.1=0.0.0.0:2788:3788;2181 server.2={{ zookeeper_host }}:2888:3888;2182 server.3={{ zookeeper_host }}:2988:3988;2183
    docker_zookeeper_expose: [2181, 2788, 3788]
    docker_zookeeper_ports:
    - 2181
  - role: levonet.docker-zookeeper
    docker_zookeeper_name: zoo-2
    docker_zookeeper_env:
      ZOO_MY_ID: 2
      ZOO_SERVERS: server.1={{ zookeeper_host }}:2788:3788;2181 server.2=0.0.0.0:2888:3888;2182 server.3={{ zookeeper_host }}:2988:3988;2183
    docker_zookeeper_expose: [2182, 2888, 3888]
    docker_zookeeper_ports:
    - 2182
  - role: levonet.docker-zookeeper
    docker_zookeeper_name: zoo-3
    docker_zookeeper_env:
      ZOO_MY_ID: 3
      ZOO_SERVERS: server.1={{ zookeeper_host }}:2788:3788;2181 server.2={{ zookeeper_host }}:2888:3888;2182 server.3=0.0.0.0:2988:3988;2183
    docker_zookeeper_expose: [2183, 2988, 3988]
    docker_zookeeper_ports:
    - 2183

Licencja

Licencja Apache v2

Informacje o autorze

Ta rola została stworzona przez Marica Antonacci
Obecny opiekun Pavlo Bashynskyi

O projekcie

Deploy official Zookeeper Docker container

Zainstaluj
ansible-galaxy install levonet.docker-zookeeper
Licencja
apache-2.0
Pobrania
2.8k
Właściciel