首页
学习
活动
专区
工具
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 主机列表,提高工作效率和准确性。

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

相关·内容

现代 IT 人一定要知道 Ansible系列教程:是什么Ansible

ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯。...当 Control Machine (主控端) 可以用 SSH 连上 Managed node,且被连上机器有预载 Python 时,Ansible 就可以运作了!...模块 Ansible 会连接到您节点,并向节点推送这种称为“模块”小程序。这些模块可用于完成 Ansible自动化任务。这些程序被编写成系统理想状态资源模型。...无代理自动Ansible 采用无代理设计,这意味着其所管理节点不需要安装任何软件。Ansible 会从清单中读取要管理机器有关信息。...Ansible安装 在一般情况下,我们只需在 Control Machine 安装 Ansible 即可,因为 GNU/Linux 和 macOS Managed node 都早已预载了 Python

28010

运维自动化基础建设|系统环境初始化

运维自动化基础建设|系统环境初始化 网上可以看到不少使用shell编写系统初始化脚本,在本篇文档,我们选择了Ansible作为我们操作入口工具来进行系统初始化工作 手动维护场景复现 小B,给我10...,我这就去写脚本,然后开始坐下来写python + shell来进行即将接下来工作操作,写好之后大B简单测试了下就把这事甩给小B了,让小B把脚本跑一遍,小B拿到脚本之后再新开几台机器上运行,哎呀...指令,执行rm -rf *时候会弹出提醒•大量实用命令别名实现 注意事项 •结合前两篇文档所描述,如果你是使用kvm模板创建机器场景的话,按照标准化操作去走,主机名和IP地址操作同样可以放在系统初始化里面去做...•快速交付,减少人为参与和时间消耗•Ansible并不是万能,它只能帮助我们解决我们碰到大部分问题,由于Ansible约束太过于宽松,在便捷使用同时也会带来不可控点,翻看最近几年新闻不难发现...,由Ansible造成生产故障也屡见不鲜 不得不说是,这一块工作和前面的IP规划、主机名规划是相辅相成, 另外就是安利下Ansible, 自动化不是梦,值得拥有~

80330

自动化工具后起之秀Ansible部署实践

这也是Ansible相对其他自动化工具一大优势,但是这一优势带来影响就是实现机制差异导致在大规模环境下,Ansible性能确实要比SaltStack差很多,当然,规模大概在一两百台机器左右Ansible...如何将DevOps与这种Jenkins+Ansible+GitLab实现方式结合起来呢? ?...setup:获取目标机器信息,并注册成主机变量。 场景:获取目标主机ip信息,并将ip写进某个配置文件。...五、总结 Ansible作为自动化工具中后起之秀,因其简单易用,无代理架构特性,已经被广大自动化运维爱好者和初学者所接受并使用,如果不做二次开发,甚至都不需要对Python有深入了解,实际上它丰富模块也已经基本满足日常运维所有的需求...依稀记得第一次接触到Ansible是在部署openshift(基于k8s容器云平台)时候,这种复杂应用部署通过简单几行配置就完成了,不只是运维,相信对Linux系统有所了解研发人员也可以通过Ansible

4.9K40

如何快速学习Ansible使用

ansible是一种自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)优点,实现批量系统配置、批量程序部署、批量运行命令等功能...安装方法 yum install ansible 或者apt-get install ansible PS:如果你在所用 Linux 发行版包仓库中找不到 Ansible,那么也可以通过 pip 来安装...被管理主机设置 Inventory 文件用来定义你要管理主机。其默认位置在 /etc/ansible/hosts ,如果不保存在默认位置,也可通过-i选项指定。被管理机器可以通过其IP或域名指定。...hosts 定义所有主机执行,这里也可以指定组名或模式 • -m:指定所用模块,我们使用 Ansible 内置 ping 模块来检查能否正常管理远端机器 • -u:指定远端机器用户 大家可使用...实例解析 为了能让大家更好理解,现以示讲解: 远程管理同事电脑 进入我ansible(默认安装位置为/etc/ansible); 在hosts下写入同事电脑IP地址; [company]192.168.3.102

1.1K10

Ansible和Docker作用和用法

最后,我骨子是一个工匠,我非常了解如何把零件拼凑在一起工作。Heroku 基础模块是 Linux Container,而 Docker 表现出来多功能性也是基于这种技术。...Ansible批量搭建LAMP环境 http://www.linuxidc.com/Linux/2014-10/108264.htm Ansible :一个配置管理和IT自动化工具  http://www.linuxidc.com...这种更简单操作模式让我把精力集中在如何将技术设施私有化,提高了我工作效率。与 Unix 模式一样,Ansible 提供大量功能简单模块,我们可以组合这些模块,达到不同工作要求。...除了 Python 和 SSH,Ansible 不再依赖其他软件,在它远端主机不需要部署代理,也不会留下任何运行痕迹。...最后,Dockerfile 为应用指定了一个端口号,将容器内部端口号为3000端口映射到主机(运行着 Docker 机器一个随机分配端口上。

2.1K20

ansible入门

人生是条无名河,是浅是深都要过; 人生是杯无色茶,是苦是甜都要喝; Ansible快速入门 介绍 Ansible是一款为类Unix系统开发自由开源配置和自动化工具。...,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。...Ansible特点 1、ansible不需要单独安装客户端,也不需要启动任何服务 2、ansible是python中一套完整自动化执行任务模块 3、ansible playbook 采用...、状态管理 ·        7、对云计算平台、大数据都有很好支持; 环境准备 IP 系统 主机名 描述 192.168.1.100 CentOS7 ansible ansible管理节点...Ad-Hoc Ad-Hoc中文文档 ad-hoc —— 临时,在ansible中是指需要快速执行,并且不需要保存命令。

1K73

自动化运维平台Spug测试

Spug 面向中小型企业设计轻量级无 Agent 自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。...公钥保存在各个被管理主机上,私钥存在于spug平台(不是172.27.34.51服务上面)。 五、在线终端 ? 单机主机栏后面的'Console'即可免密进入终端 ?...脚本逻辑:首先设置阀值为'num=5',通过'df -h'获取文件系统使用率所在,然后与阀值循环比较,如果大于阀值则输出告警信息'主机hostname文件系统 name 使用率为 value% '。...3.系统设置 3.1 秘钥设置 ? spug 有自己密钥对,公钥保存在被管理主机内,私钥保存在spug平台内(不是管理主机172.27.34.51)。...使用sudo运行需要root权限额命令,直接运行,不需要二次输入密码。

4.4K20

自动化运维平台Spug测试

Spug 面向中小型企业设计轻量级无 Agent 自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。...通信原理: 第一次在登录时候会生产公私钥,密码只是用在第一次发送公钥上。 公钥保存在各个被管理主机上,私钥存在于spug平台(不是172.27.34.51服务上面)。...$5}'|xargs) do if [ $i -ge $num ] then exit $i fi done 脚本逻辑:首先设置阀值为'num=5',通过'df -h'获取文件系统使用率所在...3.系统设置 3.1 秘钥设置 spug 有自己密钥对,公钥保存在被管理主机内,私钥保存在spug平台内(不是管理主机172.27.34.51)。...,直接运行,不需要二次输入密码。

2.6K00

持续交付之Jenkins+Ansible+Python搭建自动化部署框架(win版)

部署需求 单机部署过程高度抽象后其实就三个步骤: 在目标机器上执行命令停掉运行中服务 把提前准备好变更包传上机器覆盖原来目录 运行命令把服务再跑起来 假设我们实现了一个自动部署程序,简单地顺序执行上面的步骤...Ansible 是一个自动化运维管理工具,支持 Linux/Windows 跨平台配置管理,任务分发等操作,可以帮我们大大减少在变更环境时所花费时间。...Linux 系统,远程主机通信方式也由SSH变更为PowerShell,同时管理机必须预安装 Python Winrm 模块,方可和远程 Windows 主机正常通信,但 PowerShell...注意:如果主机比较多情况,建议不要使用这种硬编码方式,可以考虑放到一个配置文件进行读取。 小结 在今天这篇文章中,主要基于 Ansible 系统能力,和大家分享了搭建一套部署系统过程。...Python 脚本钉钉自动化通知及跳转功能 至此,我们要搭建整个自动部署系统,也算是顺利完成了。

2.4K10

OpenStack Kolla源码分析–Ansible

它是一个纯Python实现ssh协议库。因此fabric和ansible还有一个共同点就是不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯。...saltstack三倍多,显然靠不是吹牛,至少,ansible至少不会悄悄机器,而且仅依赖ssh,与登录授权管理系统天然集成,简单即有效,没有比这更美妙事情了。...✔ Playbooks:网上很多翻译为剧本,个人觉得理解为编排更为合理;定义 Ansible 多任务配置文件,有Ansible自动执行 ✔ Inventory:定义Ansible管理主机清单 Ansible...Ansible还使用了清单(inventory)来将用户提供主机映射到基础架构中具体端点。不同于静态hosts文件,Ansible支持动态内容。...不能直接修改 Ansible 代码放到 Kolla 使用。不想受限制于官方功能开发。有些想用功能 (比方说新加进common_option, 官方是不会增加)。

2K60

Ansible玩转Windows自动

Windows下Ansible工作模式 Ansible 从1.7+版本就开始支持Windows,现在已经是4.0稳定版了,但前提是管理机必须为Linux系统,远程主机通信方式有两种,可以是ssh,也可以是...简单总结如下: 管理机必须为Linux系统且需预安装Python Winrm模块 底层通信基于PowerShell,版本为3.0+,Management Framework版本为3.0+ 远程主机开启Winrm...服务 Ansible管理机部署安装 目前,只要机器上安装了 Python 2.6 或 Python 2.7 (windows系统不可以做控制主机),都可以运行Ansible....,也不依赖于其他软件,不要求运行后台进程,也不需要设置数据库.因此我们社区许多用户一直使用Ansible开发版本,这样可以利用最新功能特性,也方便对项目做贡献.因为不需要安装任何东西,跟进Ansible...Windows系统配置 和Linux发版版稍有区别,远程主机系统如为Windows需预先如下配置: Framework 3.0+ 更改powershell策略为remotesigned PowerShell

2.5K20

零基础带你硬核了解并上手“Ansible“!

,减少人为失误。...包括虚拟机创建,主机修改,系统初始化等等,在机器不多情况下人工还能应付得过来,如果有上百台机器呢?最初也是用堆人方法来做。但这样方式出错率高,而且有时还会有遗漏。...运维自动目标也很明确,就是为了要实现这几件事: 某某组件坏了可以不用管继续睡觉 出现异常时点击一下就可以立即恢复 与监控配合,系统挂了可以自动恢复 配置自动化可以帮助企业在大量服务器存在情况下...简单快捷,被管理端不需要启服务。直接使用ssh协议,需要验证所以机器多的话速度会较慢。 saltstack 基于python语言。...Ansible是一种由Python开发自动化运维工具,集合了众多运维工具(puppet、cfengine、chef、func、fabric)优点,实现了批量系统配置、批量程序部署、批量运行命令等功能

76030

ansible环境搭建

一、ansible介绍 ansible是一个开源自动化运维平台,可以在Ansible playbook中在完美描述IT应用架构简单自动化语言。...ansible 特性: no agent:不需要在被管控机器上安装客户端程序 no server:无服务端,直接运行命令 modules in any languages:基于模块工作 yaml,...无代理特性支持Linux,Windows,Unix和网络设备,无论 物理机,虚拟机,云主机和容器环境都能支持。...二、系统环境 Red Hat Enterprise Linux release 8.2 (Ootpa) 三、操作步骤 1、安装ansible (1)首先配置yum源,包含本地源和网络源(阿里源),方法如下...主机,查看.ssh/authorized_keys文件是否是控制主机公钥信息,若不是可以将authorized_keys内容清空,重新执行ssh-copy-id命令;最后一招可以将控制主机/home

81611

CDP私有云集群自动化部署

在 Cloudera,我们一直相信自动化是交付安全、随时可用且配置良好平台关键。因此,我们很高兴地宣布公开发布基于 Ansible 自动化来部署 CDP 私有云基础集群。...我们可以运行快速启动环境,它是一个 Docker 容器,我们可以在本地或管道中运行,或者我们可以在我们数据中心基础设施中 Linux 机器上安装依赖项。...在这个简单集群中,我们只有两个主机模板:Master1和Workers. 对于更复杂集群,您可能希望拥有更多主机模板。在下一节中,我们将解释如何将这些主机模板应用于集群节点。...用于构建集群现有机器。...总结 在本博客中,我们介绍了如何将 CDP 私有云基础自动化部署到物理或虚拟机上机制,也包括在公共云中部署。

1.9K30

Ansible 简介

Ansible 是一个开源基于 OpenSSH 自动化配置管理工具。可以用它来配置系统、部署软件和编排更高级 IT 任务,比如持续部署或零停机更新。...使用 Ansible 无须在被管理机器上安装代理,所以不存在如何升级远程守护进程问题,也不存在由于卸载了守护进程而无法管理系统问题。...下面是 Ansible 一些优势: 可以逐行执行 shell 命令。 不需要另外客户端工具(linux 一般会自带 ssh 工具)。 相同配置只被执行一次(多次执行同一配置不会出问题)。...如果你不是通过 ssh-copy-id 命令把公钥添加到目标机器(多数环境都不是这么做),在首次执行 ansible 命令时需要用户确认连接安全性: 这是非常悲催,因为我们要实现目标是自动执行命令...总结 Ansible 是一个强大自动化工具,并以其简介用法,对开发者(系统运维工程师)友好特点在自动流程中占据了一席之地。

72220
领券