levonet.docker-zookeeper

Zookeeperの役割

==============

公式イメージ zookeeper:latest を使用して、Dockerコンテナ内でZookeeperを設定し、起動します。

役割の変数


  • zookeeper_id(必須):このIDは、エンセmbles内でユニークでなければなりません。値は1から255の間である必要があります。
  • zookeeper_servers(必須):この変数を使用してZookeeperエンセmblesのマシンのリストを指定します。各エントリは、server.id=host:port:port の形式です。エントリはスペースで区切られます。 3.5では、構文が変更されました。サーバーは次のように指定する必要があります:server.id=<address1>:<port1>:<port2>[:role];[<client port address>:]<client port> Zookeeperの動的再構成
  • docker_zookeeper_name(デフォルト:zookeeper):この名前は、ホームフォルダーのパスとコンテナの名前に使用されます。
  • docker_zookeeper_version(デフォルト:latest)
  • docker_zookeeper_image(デフォルト:zookeeper:{{docker_zookeeper_version}})
  • docker_zookeeper_expose(デフォルト:[2181, 2888, 3888])
  • docker_zookeeper_ports(デフォルト:[2181, 2888, 3888]):それぞれZookeeperのクライアントポート、フォロワーポート、選挙ポートです。
  • docker_zookeeper_env(省略可能):詳しくは環境変数を参照してください。
  • docker_zookeeper_network_mode(デフォルト:host):コンテナをネットワークに接続します。
  • docker_zookeeper_networks(デフォルト:[]):コンテナが属するネットワークのリスト。
  • docker_zookeeper_log_driver(デフォルト:json-file):ログドライバーを指定します。
  • docker_zookeeper_log_options(省略可能):選択したlog_driverに特有のオプションの辞書。詳細についてはロギングドライバーの設定を参照してください。

依存関係


  • docker

例プレイブック


hosts で:

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

プレイブックで:

- 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

単一サーバー上でZookeeperクラスターを実行する例


- 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

ライセンス


Apache License v2

著者情報


この役割はMarica Antonacciによって作成されました。
現在のメンテナーはPavlo Bashynskyiです。

プロジェクトについて

Deploy official Zookeeper Docker container

インストール
ansible-galaxy install levonet.docker-zookeeper
ライセンス
apache-2.0
ダウンロード
2.8k
所有者