乐趣区

关于linux:linux之Ansible快速入门

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/…
微信公众号: 入门小站

退出移动版