zerotier
Ansible Роль: ZeroTier
Эта Ansible роль добавляет репозиторий ZeroTier и устанавливает пакет zerotier
с помощью менеджера пакетов вашей системы. В зависимости от заданных переменных, эта роль также может добавлять и авторизовать новых участников в (существующие) сети ZeroTier и сообщать новому участнику о необходимости присоединиться к сети.
Если вам нужна более гибкая и универсальная роль для ZeroTier, ознакомьтесь с ajaykumar4.zerotier
.
Требования
Эта роль технически не имеет требований. Если она запускается без заданных переменных, будут выполнены только задачи установки. Следующие переменные влияют на поведение роли:
zerotier_network_id: когда задано, хостам сообщают, что нужно присоединиться к этой сети.
zerotier_api_accesstoken: когда задано, роль может обрабатывать аутентификацию участников и их настройку с помощью API ZeroTier.
Переменные Роли
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
Тип: строка
Значение по умолчанию: ""
Описание: Токен доступа, необходимый для авторизации с помощью API ZeroTier. Вы можете сгенерировать его в настройках вашей учетной записи на https://my.zerotier.com/. Если оно пропущено, то новый участник не будет автоматически авторизован.
zerotier_api_url
Тип: строка
Значение по умолчанию: https://my.zerotier.com
Описание: URL, по которому располагается API ZeroTier. Должен использовать протокол HTTPS.
zerotier_api_delegate
Тип: строка
Значение по умолчанию: localhost
Описание: Опция для делегирования задач для вызовов API ZeroTier. Это полезно в ситуации, когда API вызовы могут выполняться только с управляемого сервера с включением в белый список, например.
Использование
Сначала создайте новый каталог на основе каталога sample
внутри каталога inventory
:
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"
Затем отредактируйте inventory/my-cluster/site.yml
, чтобы он соответствовал собранной выше информации о ZeroTier.
Пример Плейбука
- 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
Install and add new members to a zerotier network for x86_64 and ARM-based computers.
ansible-galaxy install AjayKumar4/ansible-role-zerotier