ajaykumar4.zerotier
Ansible Rolle: ZeroTier
Diese Ansible Rolle fügt das ZeroTier Repository hinzu und installiert das Paket zerotier
mit dem Paketmanager deines Systems. Abhängig von den angegebenen Variablen kann diese Rolle auch neue Mitglieder zu (bereits bestehenden) ZeroTier-Netzwerken hinzufügen und autorisieren und den neuen Mitgliedern sagen, dass sie dem Netzwerk beitreten sollen.
Wenn du eine flexiblere und allgemeinere Rolle für ZeroTier benötigst, schau dir ajaykumar4.zerotier
an.
Anforderungen
Technisch hat diese Rolle keine Anforderungen. Wenn sie ohne gesetzte Variablen ausgeführt wird, führt sie nur die Installationsaufgaben aus. Die folgenden Variablen beeinflussen das Verhalten der Rolle:
zerotier_network_id: Wenn gesetzt, werden die Hosts angewiesen, diesem Netzwerk beizutreten.
zerotier_api_accesstoken: Wenn gesetzt, kann die Rolle die Authentifizierung und Konfiguration von Mitgliedern über die ZeroTier API verwalten.
Rollenvariablen
zerotier_network_id
Typ: string
Standardwert:
Beschreibung: Die 16-stellige Netzwerk-ID des Netzwerks, dem die neuen Mitglieder beitreten sollen. Der Knoten wird keinem Netzwerk beitreten, wenn dies weggelassen wird.
zerotier_member_register_short_hostname
Typ: boolean
Standardwert: false
Beschreibung: Standardmäßig wird inventory_hostname
verwendet, um ein Mitglied in einem Netzwerk zu benennen. Wenn auf true
gesetzt, wird stattdessen inventory_hostname_short
verwendet.
zerotier_member_ip_assignments
Typ: list
Standardwert: []
Beschreibung: Eine Liste von IP-Adressen, die diesem Mitglied zugewiesen werden sollen. Das Mitglied erhält automatisch eine Adresse im Netzwerk, wenn dies weggelassen wird.
zerotier_member_description
Typ: string
Standardwert: ""
Beschreibung: Optionale Beschreibung für ein Mitglied.
zerotier_api_accesstoken
Typ: string
Standardwert: ""
Beschreibung: Das Zugangstoken, das benötigt wird, um sich bei der ZeroTier API zu authentifizieren. Du kannst eines in deinen Kontoeinstellungen unter https://my.zerotier.com/ generieren. Wenn dies weggelassen wird, wird das neu beigetretene Mitglied nicht automatisch autorisiert.
zerotier_api_url
Typ: string
Standardwert: https://my.zerotier.com
Beschreibung: Die URL, an der die Zerotier API verfügbar ist. Muss das HTTPS-Protokoll verwenden.
zerotier_api_delegate
Typ: string
Standardwert: localhost
Beschreibung: Option zur Delegierung von Aufgaben für API-Aufrufe von Zerotier. Dies ist nützlich in Situationen, in denen API-Aufrufe nur von einem genehmigten Verwaltungsserver aus erfolgen können.
Verwendung
Zuerst erstelle ein neues Verzeichnis basierend auf dem sample
Verzeichnis im inventory
Verzeichnis:
cp -R inventory/sample inventory/my-cluster
Zweitens, bearbeite inventory/my-cluster/hosts.ini
, um die Systeminformationen entsprechend anzupassen.
Beispiel Inventar
[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"
Drittens, bearbeite inventory/my-cluster/site.yml
, um die gesammelten ZeroTier-Informationen anzupassen.
Beispiel Playbook
- hosts: servers
vars:
zerotier_network_id: < netzwerk id >
zerotier_api_accesstoken: < accesstoken >
zerotier_register_short_hostname: true
roles:
- ajaykumar4.zerotier
Starte die Bereitstellung des Clusters mit dem folgenden Befehl:
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