首页
学习
活动
专区
工具
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
代码运行次数:0
复制
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
代码运行次数:0
复制
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 主机列表,提高工作效率和准确性。

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

相关·内容

自动化运维利器 ansible-入门

ansible 是一款强大的配置管理工具,诣在帮助系统管理员高效率地管理成百上千台主机。设想一个主机是一个士兵,那么有了 ansible ,作为系统管理员的你就是一个将领,你可以通过口头命令,即一次下发一条命令(ansible ad-hoc 模式)方式让一个或一组或全部的士兵按你的指令行事,也可以将多条命令写在纸上(ansible playbook 模式), 需要执行命令时只需要提供这张纸即可。你可以让多个士兵同时做相同或不同的事情,可以方便的让新加入的士兵快速加入已有的兵种队伍,也以快速改变兵种(配置管理),一句话,士兵都严格听你的,你做好命令的设计,ansible 自动帮你发布和执行。

03
领券