首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux 系统里,如何将新开的机器自动加进 ansible 主机列表里,不需要人为介入?

在 Linux 系统中,要将新开的机器自动加入 Ansible 主机列表,可以使用以下方法:

  1. 使用 Ansible 的自动发现功能:

在 Ansible 配置文件中,可以设置 host_discovery 选项为 True,并指定一个或多个子网,以便自动发现子网中的主机。

代码语言:txt
复制
[defaults]
host_discovery = True

[discovery]
subnets = 192.168.1.0/24, 192.168.2.0/24

这样,Ansible 会自动发现指定子网中的主机,并将它们添加到主机列表中。

  1. 使用 Ansible 的动态清单功能:

可以使用脚本或程序来生成动态清单,以便将新开的机器自动添加到主机列表中。

例如,可以使用以下 Python 脚本来生成动态清单:

代码语言:python
复制
import os

# 获取所有主机名
hosts = os.popen('ls /etc/ansible/hosts/').read().strip().split('\n')

# 生成动态清单
inventory = {}
for host in hosts:
    inventory[host] = {'hosts': [host]}

print(inventory)

这个脚本会读取 /etc/ansible/hosts/ 目录下的所有主机名,并将它们添加到动态清单中。

  1. 使用 Ansible 的外部脚本功能:

可以使用外部脚本来将新开的机器自动添加到主机列表中。

例如,可以使用以下 Python 脚本来将新开的机器添加到主机列表中:

代码语言:python
复制
import os

# 获取新开的机器名
new_host = os.popen('ls /etc/ansible/hosts/').read().strip().split('\n')[-1]

# 将新开的机器添加到主机列表中
with open('/etc/ansible/hosts', 'a') as f:
    f.write(new_host + '\n')

这个脚本会读取 /etc/ansible/hosts/ 目录下的最新主机名,并将它添加到主机列表中。

总之,要将新开的机器自动加入 Ansible 主机列表,可以使用 Ansible 的自动发现功能、动态清单功能或外部脚本功能。这些方法可以帮助自动化管理和维护 Ansible 主机列表,提高工作效率和准确性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券