写点什么

linux 之 Ansible 快速入门

作者:入门小站
  • 2022 年 6 月 09 日
  • 本文字数:976 字

    阅读完需:约 3 分钟

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

Ansible 的优点

  • 不需要安装客户端,不需要运行服务

  • 使用 python 开发的一套自动执行任务的模块

  • playbook 采用 yaml 配置,结构清晰

Ansible 的组成结构

  • Ansible:核心命令工具,一次性或临时性执行的操作都由该工具执行

  • Ansible playbook:任务剧本(又称任务集),编排定义 Ansible 任务集的配置文件,由 Ansible 执行,格式是yaml

  • Inventory:Ansible 管理的主机,在/etc/ansible/hosts中配置

  • Modules:Ansible 执行命令的功能模块,Ansible2.3 版本为止,共有 1039 个模块。还可以自定义模块。

  • 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协议,指定好端口,账号,密码就可以了。除了使用账号,密码的形式配置,我们也可以用秘钥,后面访问。

测试

> 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配置文件,更加灵活。


原文链接:https://rumenz.com/rumenbiji/linux-ansible-quick.html微信公众号:入门小站


  • 回复【1001】获取 linux 常用命令速查手册

  • 回复【10010】获取 阿里云 ECS 运维 Linux 系统诊断

  • 回复【10012】获取 Linux 学习笔记【强悍总结值得一看】

  • 回复【10013】获取 shell 简明教程



发布于: 刚刚阅读数: 3
用户头像

入门小站

关注

还未添加个人签名 2020.01.18 加入

还未添加个人简介

评论

发布
暂无评论
linux之Ansible快速入门_Linux_入门小站_InfoQ写作社区