genvid.toolbox.ConsulService
- class genvid.toolbox.ConsulService(**kwargs)
ベースクラス:
ServiceTool
Consul サービスを設定するためのベース class。
- NAME = 'service-consul'
このツールのロガー名。子 class (children) で再定義する必要があります。
- SERVICE_NAME = 'consul'
- get_service_args(configdir, datadir, mode)
Consul モードに応じて、ベース引数を返す (dev かどうか)。
- get_recursors()
- get_config(name, mode, datacenter, bind, wan, bootstrap, replace_dns, servers, ec2_tag, ec2_value, join_policy, node_id, **ignored)
設定を、JSON オブジェクトとしてアクセスできる辞書として返す。
デフォルトの設定は、このメソッドの結果をオーバーライドすることで変更可能。
Args:
name: ノード名
mode: サービスを実行するモード (dev、server、client)。
datacenter: Consul に関連付ける datacenter
- bind: アドバタイズされた LAN IP アドレス。Consul は "0.0.0.0" にバウンドしますが、
単一アドレスをアドバタイズする必要があります。
wan: アドバタイズされた WAN IP アドレス。存在する場合、WAN 変換を有効化します。
- bootstrap: サーバーモードのみ: 想定される bootstrap サーバー数。
-1 に設定すれば、リストされたサーバー数を使用します。
- replace_dns: Consul をポート 53 で実行し、Consul を nameservers のリストに追加する。
(現在、Linux のみ)。
servers: 再起動時に再試行するサーバーのリスト。
- ec2_tag: ec2_tag および join_policy は相互排他関係にあります。 ec2_tag は下位互換性のために保持されています。
サーバーの EC2 インスタンスのタグ。AWS インスタンスである必要があります。
ec2_value: サーバーをチェックする EC2 の値。AWS インスタンスである必要があります。
join_policy: retry_join consul 設定で使用されるリトライジョインポリシー
node_id: 使用されるノード ID。設定されていない場合は、ノード ID が自動的に生成されます。
- class service.ConsulService