查看原文
其他

Linux——Ansible 快速入门

推荐大家关注一个公众号
点击上方 "Linux中文社区关注,星标或者置顶
21点00分准时推送,第一时间送达

责编:中文妹 | 来源:入门小站

上一篇:讣告 | 旷视首席科学家、旷视研究院院长孙剑博士去世
大家好,我是中文妹。


Ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。

Ansible的优点

  • 不需要安装客户端,不需要运行服务
  • 使用python开发的一套自动执行任务的模块
  • playbook采用yaml配置,结构清晰

Ansible的组成结构

  • Ansible:核心命令工具,一次性或临时性执行的操作都由该工具执行
  • Ansible playbook:任务剧本(又称任务集),编排定义Ansible任务集的配置文件,由Ansible执行,格式是yaml
  • Inventory:Ansible管理的主机,在/etc/ansible/hosts中配置
  • Modules:Ansible执行命令的功能模块,Ansible2.3版本为止,共有1039个模块。还可以自定义模块。另外,搜索公众号Linux就该这样学后台回复“git书籍”,获取一份惊喜礼包。
  • Plugins:插件,模块功能的补充,常有连接类型插件,循环插件,变量插件,过滤插件,插件功能用的较少。
  • API:提供给第三方程序调用的应用程序编程接口。

Ansible常用的功能模块

命令模块 command shell文件模块 copy fetch file安装模块 yum服务模块 service挂载模块 mount定时任务 cron用户模块 group user压缩解压 unarchive

Ansible安装

> yum install ansible -y

配置主机

> vim /etc/ansible/hosts[web]192.168.2.10 ansible_ssh_port=22 ansible_ssh_user=rumenz ansible_ssh_pass="123456"192.168.2.11 ansible_ssh_port=22 ansible_ssh_user=rumenz ansible_ssh_pass="123456"
我们定义了一个web组(可以加很多主机),Ansible默认使用的是ssh协议,指定好端口,账号,密码就可以了。除了使用账号,密码的形式配置,我们也可以用秘钥,后面访问。

牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧

测试

> ansible web -m ping
web就是上面我们定义的分组,-m我后面指定模块,这里我们使用ping模块,用于查看主机是否网络可达。

使用Ansible执行pwd命令

> ansible web -m shell -a "pwd"
这里我们使用的是shell 模块,-a后面跟上需要执行的shell命令

使用Ansible查看web分组下nginx服务是否在运行

> ansible web -m shell -a "ps -ef | grep nginx"

使用Ansible简单批量安装redis

> ansible web -m shell -a "yum install redis -y"
注意复杂的软件安装,需要编写Ansible playbook配置文件,更加灵活。

  声明:本文部分素材转载自互联网,如有侵权立即删除 。


往期精彩


喜欢本文的朋友们,欢迎长按下图,关注订阅号Linux中文社区


收看更多精彩内容

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存