5分钟熟悉Ansible集群运维工具

5分钟熟悉Ansible集群运维工具

【写在最前】我们在平时的编程学习中,或多或少,或早或晚,都要接触到linux服务器;当你工作中接触的服务器比较多(或者你致力于成为一名合格的linux集群运维人员),那么ansible就是你必须要掌握的维护工具!本文致力于成为(或许已经是)全网最简介的ansible工具教程,让我们花5分钟时间搞懂ansible运维工具,相信聪明的你,看完一定会有收获!

【正文开始】

为什么要用Ansible?

假设你有100台服务器,需要先安装同样的业务软件,再进行相似的配置文件修改,如果靠人工每台挨个去操作,不仅效率低下,而且极易出错。

Ansible,就是为Unix/Linux集群运维而生!

什么是Ansible?Ansible是一个集群运维管理工具,这是一款入门非常简单但是功能却极其强大的软件,仅靠SSH就能正常运行各种定制化任务。

跟普通的bash脚本相比,Ansilble有一个非常重要的特点,就是能保证任务操作的“幂等性”(可以重复执行任务,并且执行结果保持不变)

# 准备工作(制作SSH免密登录环境)

假设: 想通过192.168.1.2登录 1.3,那么在1.2上执行如下两条命令:ssh-keygen ssh-copy-id xxx@192.168.1.3注1:第1条命令一路回车即可在本地生成密钥对(在本地/home/xxx/.ssh/下生成两个文件:id_isa.pub 和 id_rsa)注2:第2条命令是将本地公钥发送到1.3上(需要输入2遍xxx用户的密码)

# 安装 ansible

sudo yum -y install ansible

注:安装后会自动生成 /etc/ansible 目录(内含 ansible.cfg配置文件)

# 配置(管理)服务器节点ansible.cfg中第一行配置内容为:#inventory = /etc/ansible/hosts这个 inventory 表示是服务器节点配置文件地址(默认为/etc/ansible/hosts)

当然,你也可以在具体的ansible命令中通过 -i 参数显式指定其他配置文件

hosts配置文件内容举例:

[group1]192.168.1.3

192.168.1.4

192.168.1.5

注:这里的group1表示服务器群组的名字,你可以随便定义

# ansible基本用法:

需求举例:在远端N台服务器上同时安装nginx软件实现命令:

ansible -i /etc/ansible/hosts group1 -b –become-user=root -m shell -a ‘yum -y install nginx’

参数释义:-i: 指定host服务器配置清单文件的路径(默认是在/etc/ansible/hosts,可选项)-b: become“成为”,即切换成root用户去执行命令-m: 指定module模块名称,比如 ping ,copy 等-a: 用于将参数传递给定义的模块m

另一个例子:

ansible group1 -m ping

可借助ping模块实现group1群组所有服务器的网路连通性检测。

# ansible进阶用法:

1)保持操作幂等

联想上面的基本语法:

ansible group1 -m shell -a ‘yum -y install nginx’

这种风格有一个缺点:不能保证操作幂等性。

我们来改进一下:

ansible group1 -m yum -a ‘name=nginx state=installed’

执行结果为:

127.0.0.1 | success >> {“changed”: false}

我们看到结果中有: changed:false 表示远端服务器已经安装过nginx了,不会再重复安装

2)使用 playbook剧本、task任务、handler处理程序

playbook剧本可以支持运行多个task任务,并提供一些更高级的功能。

handlers处理程序与task任务基本相同,但只有当另一个任务调用它时才会运行(例如在服务安装成功后,再启动该服务)

在ansible中,剧本相关的配置都使用Yaml文件定义(必须使用空格缩进,不允许使用tab键缩进,故建议将你的IDE工具的tab按键输出替换成4个空格)。 我们继续以安装nginx并启动nginx为例进行讲解: 定义剧本:

nginx.yml 内容如下:

– hosts: group1become: yesbecome_user: roottasks:- name: “安装nginx”yum:pkg: nginxstate: installedwhen: successnotify:- Start Nginx handlers:- name: Start Nginxservice:name: nginxstate: started

运行剧本:

$ ansible-playbook nginx.yml

此时,hosts集群配置文件中的group1群组下的3台服务器上的nginx软件,就已经全部装好啦。

【全文完】——————————–十年技术沉淀,只做原创文章;及时关注作者,成就大牛之路!如果您对文章内容有不同意见或独到见解,欢迎大家在评论区留言讨论,作者也会第一时间进行互动回复。

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年6月20日 09:27
下一篇 2022年6月20日 09:27

相关推荐

  • cad连续标注快捷键(cad连续标注快捷键)

    本文主要讲的是cad连续标注快捷键,以及和cad连续标注快捷键相关的知识,如果觉得本文对您有所帮助,不要忘了将本文分享给朋友。 cad中连续标注快捷键 CAD尺寸标准快捷命令:DL…

    2022年11月27日
  • 存储过程语法(sql server存储过程语法)

    今天小编给各位分享存储过程语法的知识,其中也会对sql server存储过程语法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! oracle存储过程基本语法…

    2022年11月26日
  • 世界杯海外直播在哪看(中国女篮世界杯直播)

    最近一段时间最火爆的话题就是世界杯了,大家都想第一时间观看直播比赛,一些海外小伙伴在问世界杯海外直播在哪看?2022年世界杯海外直播免费观看平台有哪些?下面小编为大家带来世界杯海外…

    2022年11月25日
  • 淘宝直播开通后带货链接怎么做(淘宝直播需要开通淘宝店铺吗)

    直播带货无论是对于商家来说还是主播收益都是非常可观的,所以不少平台都有直播带货功能,一些小伙伴也想加入淘宝直播,那么淘宝直播开通后带货链接怎么做?下面小编为大家带来淘宝直播开通后带…

    2022年11月24日
  • 锐龙97900x参数规格跑分评测 锐龙97900x属于什么档次

    锐龙9 7900X是锐龙7000系列处理器中性能顶尖的型号之一,它采用了这一代标配的zen4架构和5nm制程工艺,那么它具体的参数跑分如何,在电脑上世纪发挥怎么样呢,下面就来看看锐…

    2022年11月24日
  • 免费加盟一件代发货源在哪里找(加盟一件代发收费吗)

    这几天有关网上货源平台还是有不少人咨询的,为了能够拿到便宜的货源,大家对各大货源网站也是关注不断。那么,免费加盟一件代发货源在哪里找?现在一件代发货源平台有哪些呢?哪里拿货价格最便…

    2022年11月24日
  • 世界杯买球软件有哪些合法吗

    随着2022卡塔尔世界杯的开幕,许多球迷朋友们也都开始参与世界杯的竞猜了。世界杯竞猜是目前足球彩票的主要玩法,想要参与世界杯买球的小伙伴,可以购买世界杯体彩。最近有些小伙伴在问,世…

    2022年11月24日
  • 免费清理c盘的软件(清理c盘空间不影响系统)

    电脑用久了慢如龟速,还卡顿,这最大的原因啊就是C盘空间不足造成的。 即使电脑配置再好,或者硬盘再快,如果长时间没有打扫C盘,打开文件或者稳定之类的,都卡得让人头大。 这时候呢不要去…

    2022年11月24日
  • 1千克等于多少磅

    克,此定义在1958年被美国以及其他英联邦会员国承认换算回来,一千克等于262磅,一磅等于037千克英国在1963年开始,依据度量衡法案的规;1 磅=16 盎司=04536 千克 …

    2022年11月24日
  • vivox90pro配置参数跑分详情 vivox90pro是什么屏幕

    vivox90pro参数配置详情怎么样?vivo手机在昨晚举行了X90系列发布会,有普通款、pro款以及pro+款三个版本,那么vivox90pro具体配置怎么样呢?下面就让小编为…

    2022年11月23日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息