当前位置:首页 > 科技  > 软件

初步利用Ansible实现批量服务器自动化管理

来源: 责编: 时间:2024-01-10 09:36:00 310观看
导读Ansible介绍Ansible是一款开源的自动化运维工具, 在2012年由Michael DeHaan创建, 现在由Red Hat维护。Ansible是基于Python开发的,采用YAML语言编写自动化脚本playbook, 可以在Linux、Unix等系统上运行, 通过SSH协议

Ansible介绍

Ansible是一款开源的自动化运维工具, 在2012年由Michael DeHaan创建, 现在由Red Hat维护。Ansible是基于Python开发的,采用YAML语言编写自动化脚本playbook, 可以在Linux、Unix等系统上运行, 通过SSH协议管理节点, 无需在被管理节点安装agent。Ansible以其简单、高效、无agent成为广泛使用的自动化工具, 可以应用于配置管理、应用部署、任务调度等。1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

Ansible能够自动管理远程系统和控制它们的期望状态, 一个基础Ansible环境主要包含三大组件:1Mz28资讯网——每日最新资讯28at.com

  • 控制节点 - 安装有Ansible的系统。我们可以在控制节点上运行Ansible命令,如ansible或ansible-inventory。
  • 管理节点 - Ansible控制的远程系统或主机。
  • 清单 - 在逻辑上组织起来的受控节点列表。在控制节点上创建清单,用来描述Ansible管理的主机部署。

架构如下:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

Ansible安装和配置

在我实验的环境中, 我分配了四台虚拟机,IP地址分别为:192.168.201.202 -205, 其中192.168.201.202是主控端, 需要在该机器上安装Ansible; 另外从203-205的三台机器为受控端, 接收从202发来的指令。这里我安装的Linux系统为ubuntu 22.04.3 LTS版本,直接输入以下命令安装:1Mz28资讯网——每日最新资讯28at.com

# apt install ansible

安装完成后输入命令: ansible --version查看版本号,如图:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

接下来需要配置管理hosts, 在目标目录新建一个名为hosts的清单文件:/etc/ansible/hosts, 注意:如果/etc/下没有ansible目录,需要手动新建一个。1Mz28资讯网——每日最新资讯28at.com

编辑hosts文件,输入以下格式内容,如图:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

在标签名称下的三个IP地址是我的另外三台虚拟机,它们将接收ansible的统一管理。保存退出。1Mz28资讯网——每日最新资讯28at.com

在命令行输入命令:1Mz28资讯网——每日最新资讯28at.com

# ansible all --list-hosts

该命令将验证清单中的主机, 返回信息如下:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

在控制节点192.168.201.202中, 我们需要生成一个SSH的密钥对,输入以下命令:1Mz28资讯网——每日最新资讯28at.com

# ssh-keygen -t rsa

中间提示一律按回车键即可, 结束后将在~/.ssh目录下生成id_rsa和id_rsa.pub两个密钥文件,我们要将公钥id_rsa.pub文件发送到三台虚拟机上(192.168.201.203-205), 分别输入以下命令:1Mz28资讯网——每日最新资讯28at.com

# ssh-copy-id root@192.168.201.203# ssh-copy-id root@192.168.201.204# ssh-copy-id root@192.168.201.205

执行结果如下:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

接下来我们输入以下命令进行免密码登录验证:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

此时, 我们可以输入以下命令进行批量主机管理测试:1Mz28资讯网——每日最新资讯28at.com

# ansible all -m ping

返回结果如下:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

可以看到, 三台受管理的主机已经全部Ping通。1Mz28资讯网——每日最新资讯28at.com

创建清单

通过清单文件, Ansible可以通过单个命令管理大量主机, 且可以通过减少需要指定的命令行选项数量来帮助我们更有效地使用Ansible,例如:清单通常包含SSH用户, 因此在运行Ansible命令时可以不需要包含-u参数来指定用户名。1Mz28资讯网——每日最新资讯28at.com

在任意目录创建一个名为inventory.yaml的文件, 这里我把清单文件建在目录: /home/inventory.yaml, 内容如下:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

下面输入命令进行验证:1Mz28资讯网——每日最新资讯28at.com

# ansible-inventory -i inventory.yaml --list

注意一下 -i 参数后面的yaml文件路径, 我这里是cd到yaml文件的当前目录了, 所以直接跟的文件名, 在实际应用过程中需要根据情况进行全路径和相对路径的选择。1Mz28资讯网——每日最新资讯28at.com

该命令执行返回结果如下:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

接下来对清单中的受管节点执行Ping操作, 执行命令:1Mz28资讯网——每日最新资讯28at.com

# ansible virtualmachines -m ping -i inventory.yaml

返回结果如下:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

创建剧本(playbook)

剧本是Ansible用来部署和配置受管节点的自动化蓝图,使用YAML格式编写。1Mz28资讯网——每日最新资讯28at.com

下面先解释一下剧本的基本元素:1Mz28资讯网——每日最新资讯28at.com

  • Play - 按顺序排列的任务列表,与inventory中受管节点对应映射。
  • 任务(task) - 定义Ansible要执行的一个或多个模块操作的列表。
  • 模块:Ansible在受管节点上运行的代码单元或二进制文件。Ansible的模块按集合组织,每个模块有一个完全限定的集合名称(Fully Qualified Collection Name, FQCN)。

在上面的操作中,我们使用了ansible命令来ping清单中的主机。现在创建一个playbook,它不仅可以ping主机,还可以打印“Hello world”消息。1Mz28资讯网——每日最新资讯28at.com

继续在/home目录下创建一个名为playbook.yaml的文件, 输入以下内容:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

在该配置文件中, 我们定义了一个剧本的名称、定义了hosts名称和具体的任务(tasks), 其中任务项这里包含两个: Ping主机和打印消息。1Mz28资讯网——每日最新资讯28at.com

接下来我们看看剧本效果如何, 输入以下命令:1Mz28资讯网——每日最新资讯28at.com

# ansible-playbook -i inventory.yaml playbook.yaml

返回结果如下:1Mz28资讯网——每日最新资讯28at.com

1Mz28资讯网——每日最新资讯28at.com

从结果来看,一切都OK, 成功执行了我们的剧本并对三个目标主机进行了Ping。1Mz28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-59678-0.html初步利用Ansible实现批量服务器自动化管理

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 2023年最火前端项目凭什么是它?

下一篇: 全网最详细MVCC讲解,一篇看懂

标签:
  • 热门焦点
  • 2023年Q2用户偏好榜:12+256G版本成新主流

    3月份的性能榜、性价比榜和好评榜之后,就要轮到2023年的第二季度偏好榜了,上半年的新机潮已经过去,最明显的肯定就是大内存和存储的机型了,另外部分中端机也取消了屏幕塑料支架
  • 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    旭日森林无糖仙草乌龙茶510ml*15瓶平时要卖为79.9元,今日下单领取50元优惠券,到手价为29.9元。产品规格:0糖0卡0脂,添加草本仙草汁,清凉爽口,富含茶多酚,保留
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • 冯提莫签约抖音公会 前“斗鱼一姐”消失在直播间

    来源:直播观察提起“冯提莫”这个名字,很多网友或许听过,但应该不记得她是哪位主播了。其实,作为曾经的“斗鱼一姐”,冯提莫在游戏直播的年代影响力不输于现
  • 认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的“网红”。7月5日至9日,为期5天的东方甄选“甘肃行”首次在自有App内直播,
  • 三翼鸟智能家居亮相电博会,让用户体验更真实

    2021电博会在青岛国际会展中心开幕中,三翼鸟直接把“家”搬到了现场,成为了展会的一大看点。这也是三翼鸟继9月9日发布了行业首个一站式定制智慧家平台后的
  • 电博会与软博会实现"线下+云端"的双线融合

    在本次“电博会”与“软博会”双展会利好条件的加持下,既可以发挥展会拉动人流、信息流、资金流实现快速交互流动的作用,继而推动区域经济良性发展;又可以聚
  • 利用职权私自解除被封帐号 Meta开除20多名员工

    11月18日消息,据外媒援引知情人士表示,过去一年时间内,Facebook母公司Meta解雇或处罚了20多名员工以及合同工,指控这些人通过内部系统以不当方式重置用户帐号,其
Top