levonet.docker-zookeeper

Rol de Zookeeper

Configurar y comenzar Zookeeper en un contenedor docker usando la imagen oficial zookeeper:latest.

Variables del Rol

  • zookeeper_id (requerido): El id debe ser único dentro del conjunto y debe tener un valor entre 1 y 255.
  • zookeeper_servers (requerido): Esta variable permite especificar una lista de máquinas del conjunto de Zookeeper. Cada entrada tiene la forma server.id=host:port:port. Las entradas están separadas por espacios. En la versión 3.5, la sintaxis de esto ha cambiado. Los servidores deben especificarse así: server.id=<address1>:<port1>:<port2>[:role];[<client port address>:]<client port> Reconfiguración Dinámica de Zookeeper.
  • docker_zookeeper_name (por defecto: zookeeper): Este nombre se usa en la ruta de la carpeta principal y en el nombre del contenedor.
  • docker_zookeeper_version (por defecto: latest)
  • docker_zookeeper_image (por defecto: zookeeper:{{docker_zookeeper_version}})
  • docker_zookeeper_expose (por defecto: [2181, 2888, 3888])
  • docker_zookeeper_ports (por defecto: [2181, 2888, 3888]) El puerto del cliente de Zookeeper, el puerto del seguidor, y el puerto de elecciones respectivamente.
  • docker_zookeeper_env (opcional): Ver Variables de entorno para más información.
  • docker_zookeeper_network_mode (por defecto: host): Conectar el contenedor a una red.
  • docker_zookeeper_networks (por defecto: []): Lista de redes a las que pertenece el contenedor.
  • docker_zookeeper_log_driver (por defecto: json-file): Especificar el controlador de registro.
  • docker_zookeeper_log_options (opcional): Diccionario de opciones específicas para el controlador de registro elegido. Ver Configurar controladores de registro para detalles.

Dependencias

  • docker

Ejemplo de Playbook

En hosts:

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

En el playbook:

- 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

Ejemplo de ejecución de un clúster de Zookeeper en un solo servidor

- 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

Licencia

Licencia Apache v2

Información del Autor

Este rol fue creado por Marica Antonacci
El mantenedor actual es Pavlo Bashynskyi

Acerca del proyecto

Deploy official Zookeeper Docker container

Instalar
ansible-galaxy install levonet.docker-zookeeper
Licencia
apache-2.0
Descargas
2.8k
Propietario