ajaykumar4.zerotier
Ansibleロール: ZeroTier
このAnsibleロールは、ZeroTierリポジトリを追加し、システムのパッケージマネージャを使用してzerotier
パッケージをインストールします。指定された変数に応じて、このロールは新しいメンバーを既存のZeroTierネットワークに追加および認証し、新しいメンバーにネットワークへの参加を指示することもできます。
より柔軟で一般的なZeroTierロールが必要な場合は、ajaykumar4.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コールができる状況で便利です。
使用方法
まず、inventory
ディレクトリ内のsample
ディレクトリに基づいて新しいディレクトリを作成します:
cp -R inventory/sample inventory/my-cluster
次に、上記で収集したシステム情報に一致するようにinventory/my-cluster/hosts.ini
を編集します。
例: インベントリ
[servers]
pi-master
pi-worker01
jetson-worker01
[master]
pi-master
[nodes]
pi-worker01
jetson-worker01
[master:vars]
zerotier_member_description='Kubernetes Pi Master Node'
[nodes:vars]
zerotier_member_description='Kubernetes Pi Workers Node'
[servers]
pi-master hostname=pi-master ansible_host=192.168.0.82 ansible_user=pi ansible_sudo_pass=password zerotier_member_description="Kubernetes Pi Master Node"
pi-worker01 ansible_port=22 hostname=pi-worker01 ansible_host=192.168.0.176 ansible_user=pi ansible_sudo_pass=password zerotier_member_description="Kubernetes Pi Worker01 Node"
jetson-worker01 ansible_port=22 hostname=jetson-worker01 ansible_host=192.168.0.227 ansible_user=jetson ansible_sudo_pass=password zerotier_member_description="Kubernetes Jetson Worker01 Node"
次に、上記で収集したZeroTier情報に一致するようにinventory/my-cluster/site.yml
を編集します。
例: プレイブック
- hosts: servers
vars:
zerotier_network_id: < network id >
zerotier_api_accesstoken: < accesstoken >
zerotier_register_short_hostname: true
roles:
- ajaykumar4.zerotier
次のコマンドを使用してクラスターのプロビジョニングを開始します:
ansible-playbook inventory/my-cluster/playbook.yml -i inventory/my-cluster/hosts.ini