ajaykumar4.zerotier

Ansible 角色:ZeroTier

CI GitHub issues

这个 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 存在的网址。必须使用 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"

第三,编辑 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.zerotier
许可证
gpl-3.0
下载
140
拥有者