美文网首页java技术资料
mac上通过ansible来管理服务器

mac上通过ansible来管理服务器

作者: LOC_Thomas | 来源:发表于2017-12-24 21:08 被阅读1564次

前言

ansible是一款很强大的运维工具, 随着微服务和devops的加强,有效的利用ansible可以大大提高运维效率

安装

mac上安装ansible非常简单

brew instsall ansible

安装完成后,可以执行ansible --version来查看信息, 可以看到我们安装的ansible版本是2.4.2.0

配置文件

创建一个ansible的文件夹,然后添加文件ansible.cfg, 里面配置的ansible的基本配置,在这个目录下执行ansible命令, 默认是读取的这个文件里面的内,读取配置文件的顺序是:

* ansible.cfg (in the current directory)
* ANSIBLE_CONFIG (an environment variable)
* .ansible.cfg (in the home directory)
* /etc/ansible/ansible.cfg

inventory目录

创建inventory目录, 里面加入hosts文件,来对机器进行管理和设置。在运行的时候 通过 ansible -i inventory 来进行指定,ansible会读取里面的hosts文件,另外可以定义 host_varsgroup_vars目录, 来根据主机和组来定义变量,使得变量更加灵活。

role.yml文件

role.yml是一个入口文件,ansible-playbook命令可以通过-e传入参数到role.yml里面,然后role.yml根据传入的参数,执行对应的roles文件夹里面的项目:
例子:
ansible-playbook -i inventory -e target=all -e role=ping role.yml
上面的命令,表示读取inventory文件夹里面的hosts,把role.yml里面的target替换成all,把role替换成ping,来进行执行。

roles目录

这个目录下面把不同的操作按子目录进行分离,通过上面的role传入的参数,选择对应名称的子目录,比如上面role=ping,则就在下面找到ping的目录,进行后续对应的操作。

后面的操作常用的主要有

  • tasks 表示执行的任务
tasks是从上到下顺序执行,如果中间发生错误,那么整个playbook会中止。你可以改修文件后,再重新执行。
每一个task的对module的一次调用。使用不同的参数和变量而已。
每一个task最好有name属性,这个是供人读的,没有实际的操作。然后会在命令行里面输出,提示用户执行情况。
  • handlers 表示相应的事件
Handlers里面的每一个handler,也是对module的一次调用。而handlers与tasks不同,tasks会默认的按定义顺序执行每一个task,handlers则不会,它需要在tasks中被调用,才有可能被执行。
Tasks中的任务都是有状态的,changed或者ok。 在Ansible中,只在task的执行状态为changed的时候,才会执行该task调用的handler,这也是handler与普通的event机制不同的地方。
  • templates 表示模版文件,模版中可以使用对应的变量,读取vars里面的变量
  • vars 表示变量文件,可以定义变量
  • files 定义文件

学习

可以通过具体的例子来进行学习, 好的学习例子就是官方提供的example
地址: https://github.com/ansible/ansible-examples

相关文章

  • mac上通过ansible来管理服务器

    前言 ansible是一款很强大的运维工具, 随着微服务和devops的加强,有效的利用ansible可以大大提高...

  • ansible tower docker安装

    ansible流程ansible通过ssh方式访问服务器并执行管理操作的,首先需要在ansible服务器上通过ke...

  • 轻松使用Ansible

    Ansible是一种自动化工具,通过SSH管理远端的服务器。Ansible也是一种编程语言,可以通过这种语言来描述...

  • Ansible

    Ansible是配置管理和应用部署工具,Ansible默认通过SSH协议管理服务器。 安 装 定 义 服 务 器 ...

  • 使用Alpine linux搭建Ansible多节点管理实验环境

    Ansible是多节点集群管理的利器,默认通过ssh协议来远程执行命令来管理集群,在被管理节点上除了ssh之外不需...

  • ansible批量管理服务

    一、ansible软件是什么? 1、ansible概念 ansible主要实现批量管理服务器,是基于python语...

  • Ansible 学习笔记

    一、安装 Ansible 是默认来通过 ssh 协议来管理机器的。安装好 ansible 之后不需要启动或者允许一...

  • 自动化运维之【Ansible+SSH】中控机模式服务器管理方案

    Ansible 是一个开源的服务器配置管理工具。部署 Ansible 的主控端(中控机)通过 SSH 协议,对同一...

  • ansible

    Ansible通过模块的方式来完成一些远程的管理工作。可以通过ansible-doc -l查看所有模块,可以使用a...

  • 如何免密登陆服务器

    mac如何链接服务器 windows 上如果要链接服务器可以通过 xshell 和它附带的 xftp 来很方便的链...

网友评论

    本文标题:mac上通过ansible来管理服务器

    本文链接:https://www.haomeiwen.com/subject/ceitfxtx.html