m4rcu5nl.zerotier-one
以下のテキストを日本語に翻訳しました。簡単で理解しやすい内容にしています。
ZeroTier
このAnsibleロールは、ZeroTierリポジトリを追加し、システムのパッケージマネージャーを使用してzerotier-one
パッケージをインストールします。提供された変数に応じて、このロールは新しいメンバーを(既存の)ZeroTierネットワークに追加し、認証することができます。そして、新しいメンバーにネットワークに参加するよう指示します。
要件
技術的にこのロールには要件はありません。変数を設定せずに実行すると、インストールタスクのみが実行されます。以下の変数はロールの動作に影響します:
zerotier_network_id: 設定されている場合、ホストはこのネットワークに参加するよう指示されます。
zerotier_api_accesstoken: 設定されている場合、このロールはZeroTier APIを使用してメンバーの認証と設定を処理できます。
ロール変数
zerotier_network_id
タイプ: 文字列
デフォルト値:
説明: 新しいメンバーが参加すべきネットワークの16文字のネットワークID。省略するとノードはネットワークに参加しません。
zerotier_member_register_short_hostname
タイプ: ブーリアン
デフォルト値: false
説明: デフォルトでは、inventory_hostname
がネットワーク内のメンバーの名前として使用されます。true
に設定すると、inventory_hostname_short
が使用されます。
zerotier_member_ip_assignments
タイプ: リスト
デフォルト値: []
説明: このメンバーに割り当てるIPアドレスのリスト。省略すると、ネットワーク上で自動的にアドレスが割り当てられます。
zerotier_member_description
タイプ: 文字列
デフォルト値: ""
説明: メンバーのためのオプションの説明。
zerotier_api_accesstoken
タイプ: 文字列
デフォルト値: ""
説明: ZeroTier APIへの認証に必要なアクセストークン。https://my.zerotier.com/ のアカウント設定で生成できます。省略すると、新しく参加したメンバーは自動的に認証されません。
zerotier_api_url
タイプ: 文字列
デフォルト値: https://my.zerotier.com
説明: Zerotier APIが存在するURL。HTTPSプロトコルを使用する必要があります。
zerotier_api_delegate
タイプ: 文字列
デフォルト値: localhost
説明: Zerotier APIコールのタスクを委任するオプション。特定の管理サーバーからのみAPIコールができる状況で便利です。
例プレイブック
- hosts: servers
vars:
zerotier_network_id: 1234567890qwerty
zerotier_api_accesstoken: "{{ vault_zerotier_accesstoken }}"
zerotier_register_short_hostname: true
roles:
- { role: m4rcu5nl.zerotier, become: true }
例インベントリ
[servers]
web1.example.com zerotier_member_ip_assignments='["192.168.195.1", "192.168.195.2"]'
web2.example.com zerotier_member_ip_assignments='["192.168.195.3", "192.168.195.4"]'
db1.example.com zerotier_member_ip_assignments='["192.168.195.10"]'
db2.example.com zerotier_member_ip_assignments='["192.168.195.11"]'
db3.example.com zerotier_member_ip_assignments='["192.168.195.12"]'
[webservers]
web1.example.com
web2.example.com
[dbservers]
db1.example.com
db2.example.com
db3.example.com
[webservers:vars]
zerotier_member_description='<AppName> ウェブサーバー'
[dbservers:vars]
zerotier_member_description='<AppName> DB クラスターノード'
Install zerotier-one package and add new members to a zerotier network
ansible-galaxy install m4rcu5nl.zerotier-one