levonet.docker-zookeeper

Zookeeper Rolle

Konfigurieren und starten Sie Zookeeper in einem Docker-Container mit dem offiziellen Image zookeeper:latest.

Rollenvariablen

  • zookeeper_id (erforderlich): Die ID muss im Ensemble eindeutig sein und einen Wert zwischen 1 und 255 haben.
  • zookeeper_servers (erforderlich): Diese Variable ermöglicht es, eine Liste von Maschinen des Zookeeper-Ensembles anzugeben. Jeder Eintrag hat die Form server.id=host:port:port. Einträge sind durch ein Leerzeichen getrennt. Ab Version 3.5 hat sich die Syntax geändert. Server sollten folgendermaßen angegeben werden: server.id=<address1>:<port1>:<port2>[:role];[<client port address>:]<client port> Zookeeper Dynamische Neukonfiguration.
  • docker_zookeeper_name (Standard: zookeeper): Dieser Name wird im Namen des Home-Ordners und im Namen des Containers verwendet.
  • docker_zookeeper_version (Standard: latest)
  • docker_zookeeper_image (Standard: zookeeper:{{docker_zookeeper_version}})
  • docker_zookeeper_expose (Standard: [2181, 2888, 3888])
  • docker_zookeeper_ports (Standard: [2181, 2888, 3888]) Der Zookeeper-Client-Port, Follower-Port, Wahl-Port jeweils.
  • docker_zookeeper_env (optional): Siehe Umgebungsvariablen für weitere Informationen.
  • docker_zookeeper_network_mode (Standard: host): Verbindet den Container mit einem Netzwerk.
  • docker_zookeeper_networks (Standard: []): Liste der Netzwerke, zu denen der Container gehört.
  • docker_zookeeper_log_driver (Standard: json-file): Geben Sie den Protokollierungs-Treiber an.
  • docker_zookeeper_log_options (optional): Wörterbuch von Optionen, die spezifisch für den gewählten Log-Treiber sind. Siehe Protokollierungs-Treiber konfigurieren für weitere Details.

Abhängigkeiten

  • docker

Beispiel-Playbook

In hosts:

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

Im 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

Ein Beispiel zum Ausführen eines Zookeeper-Clusters auf einem einzelnen Server

- 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

Lizenz

Apache Lizenz v2

Autoreninformation

Diese Rolle wurde erstellt von Marica Antonacci
Aktueller Betreuer Pavlo Bashynskyi

Über das Projekt

Deploy official Zookeeper Docker container

Installieren
ansible-galaxy install levonet.docker-zookeeper
GitHub Repository
Lizenz
apache-2.0
Downloads
2.8k