ansible入门介绍-不可不知的运维工具

Ansible是一个用于批量执行命令的运维工具,通过模块化工作,支持copy、shell等众多功能。本文介绍了Ansible的基本使用,包括机器列表定义、任务定义、执行任务以及常用模块,帮助读者快速入门。
摘要由CSDN通过智能技术生成

你可以不用Ansible但一定要了解它!

什么是Ansible?

通俗的说,Ansible就是在多台机器上批量执行命令的工具。在没有这样的工具之前,部署一个程序到多台服务器,要怎么操作?手动操作显然不现实,也许现在是3台、5台机器,但以后是50台、100台呢。
基于scp、ssh自己写工具去批量的copy文件到服务器、批量执行命令也不是一个好的选择。为什么这么说?先来看看Ansible是如何做的。
先安装一下Ansible

yum install ansible -y

一个copy模块展现Ansible的强大

将一个文件copy到一台机器上,可以使用以下命令

ansible "localhost," -c local -m copy -a "src=/etc/sysctl.conf dest=/tmp/sysctl.conf backup=yes mode=preserve"

解释一下:

  • ansible 有两个命令: ansible命令用于在命令行执行一个任务,如这里的copy任务 ;ansible-playbook则是执行一个定义了任务列表的yml文件;也就是说ansible更加方便,ansible-playbook更加专业、强大。
  • "localhost," -c local指定了目标机为本机,下文将会说明更专业的方式,将目标机的信息定义在文件中。
  • -m 指定要运行的功能模块,这里指定为copy。ansible支持的模块非常齐全,常用的有copy、shell、crontab、file等
  • -a 是指定模块对应的参数。这里的参数就是copy模块需要的参数,backup=yes表示开启备份,mode=preserve表示保留文件的原有权限

从上面的例子可以看出,ansible是基于模块工作的,而且模块非常多、很齐全。每个模块都有丰富的参数,可以更加灵活的控制细节。

如何使用

部署一个服务可以分两部分来理解:

  1. 服务需要部署到哪些机器
  2. 运行服务需要的环境:服务在一台机器上的目录结构是怎么样的,需要哪些文件,需要做哪些初始化的行为

Ansible的工作流程也是如此。先定义机器连接方式并分组,再定义任务列表。根据分组名选定一批机器去执行任务。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值