ajaykumar4.zerotier
Rola Ansible: ZeroTier
Ta rola Ansible dodaje repozytorium ZeroTier i instaluje pakiet zerotier
za pomocą menedżera pakietów Twojego systemu. W zależności od podanych zmiennych, rola ta może również dodać i autoryzować nowych członków w istniejących sieciach ZeroTier oraz poprosić nowego członka o dołączenie do sieci.
Jeśli potrzebujesz bardziej elastycznej i ogólnej roli dla ZeroTier, sprawdź ajaykumar4.zerotier
.
Wymagania
Technicznie ta rola nie ma wymagań. Jeśli zostanie uruchomiona bez ustawionych zmiennych, wykona tylko zadania instalacji. Następujące zmienne wpływają na zachowanie roli:
zerotier_network_id: po ustawieniu, hosty dołączają do tej sieci.
zerotier_api_accesstoken: po ustawieniu, rola może zarządzać autoryzacją i konfiguracją członków przy użyciu API ZeroTier.
Zmienne Roli
zerotier_network_id
Typ: string
Wartość domyślna:
Opis: 16-znakowy identyfikator sieci, do której mają dołączyć nowi członkowie. Węzeł nie dołączy do żadnej sieci, jeśli zostanie pominięty.
zerotier_member_register_short_hostname
Typ: boolean
Wartość domyślna: false
Opis: Domyślnie do nazwania członka w sieci używane jest inventory_hostname
. Jeśli ustawione na true
, zostanie użyte inventory_hostname_short
.
zerotier_member_ip_assignments
Typ: lista
Wartość domyślna: []
Opis: Lista adresów IP do przypisania temu członku. Członek otrzyma automatycznie adres w sieci, jeśli to zostanie pominięte.
zerotier_member_description
Typ: string
Wartość domyślna: ""
Opis: Opcjonalny opis dla członka.
zerotier_api_accesstoken
Typ: string
Wartość domyślna: ""
Opis: Token dostępu potrzebny do autoryzacji z API ZeroTier. Możesz go wygenerować w ustawieniach swojego konta pod adresem https://my.zerotier.com/. Jeśli zostanie pominięty, nowo dołączony członek nie będzie automatycznie autoryzowany.
zerotier_api_url
Typ: string
Wartość domyślna: https://my.zerotier.com
Opis: URL, pod którym znajduje się API Zerotier. Musi używać protokołu HTTPS.
zerotier_api_delegate
Typ: string
Wartość domyślna: localhost
Opis: Opcja do delegowania zadań dla wywołań API Zerotier. Jest to przydatne w sytuacji, gdy wywołania API mogą być dokonywane tylko z białej listy serwera zarządzającego.
Użycie
Najpierw stwórz nowy katalog na podstawie katalogu sample
w katalogu inventory
:
cp -R inventory/sample inventory/my-cluster
Następnie edytuj inventory/my-cluster/hosts.ini
, aby dopasować informacje o systemie.
Przykładowy Inwentarz
[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"
Następnie edytuj inventory/my-cluster/site.yml
zgodnie z informacjami o zerotier.
Przykładowy Playbook
- hosts: servers
vars:
zerotier_network_id: < identyfikator sieci >
zerotier_api_accesstoken: < token dostępu >
zerotier_register_short_hostname: true
roles:
- ajaykumar4.zerotier
Rozpocznij konfigurację klastra, używając następującego polecenia:
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.zerotier