Ansible 是一个简单的自动化引擎,可完成配置管理,应用部署,服务编排等各种IT需求。

Ansible使用python语言开发实现的开源软件,依赖于Jinjia2,paramiko和PyYAML这几个python库。

安装Ansible

可以使用yum或者pip安装。

yum -y install python-pip
pip install ansible

Ansible的配置文件

/etc/ansible/ansible.cfg

[defaluts]
remort_port= 2092
remot_user= scott
inventory= /etc/ansible/hosts

  

配置远程服务器列表

ansible会默认读取/etc/ansible/hosts配置的远程服务器列表,可以通过/etc/ansible/ansible.cfg修改读取的文件位置。

[appservers]
192.168.1.105 #默认的连接用户是root,端口是22,也可以在/etc/ansible/ansible.cfg修改这些默认配置
120.77.85.76 ansible_port=2085 ansible_user=devop1 #也可以指定指定端口和用户 [dbservers]
192.168.1.45

  注意appservers里的成员我已经配置好了ssh的密钥连接,配置的方方法参考:ssh通过密钥进行连接

Ansible的ad-hoc模式

使用ansible命令执行操作的方式成为ad-hoc,对应的playbook方式操作远程服务器。

格式: ansible  hostname || hostgroup || all   -m module_name  -a  module_args

使用ping模块

由于dbservers没有配置ssh密钥连接,需要加上--ask-pass,输入用户的密码,如果是sudo的权限需要加上--ask-become-pass

使用command模块执行shell命令

由于command模块是默认的模块也可以省略

另外常见的模块还有copy,file,apt等。

使用Ansible-playbook

编写yaml格式的playbook

---
- hosts: webservers
become: yes
become_method: sudo
tasks:
- name: ping server
ping:
- name: copy file to remote server
copy: src=/tmp/data.txt dest=/tmp/data.txt
- name: chnage mode
file: dest=/tmp/data.txt mode=500 owner=scott group=scott
- name: ensure packeges installed
yum: pkg={{ item }} state=present
with_items:
- lrzsz
- git

 hosts关键字声明Playbook应用服务器列表

become和become_method是在远程服务器通过sudo操作。

该Playbook包含若干个task,

第一个是判断服务器是否在线

第二个是复制本地文件到远程服务器

第三个是修改文件权限

第四个是安装软件

Ansible的快速入门的更多相关文章

  1. kolla-ansible快速入门

    kolla-ansible快速入门 kolla-ansible是一个结构相对简单的项目,它通过一个shell脚本,根据用户的参数,选择不同的playbook和不同的参数调用ansible-playbo ...

  2. jumpservice配置:快速入门

    快速入门 说明 到 Jumpserver 会话管理-终端管理 查看 Coco Guacamole 等应用是否在线 一.系统设置 1.1 基本设置 # 修改 url 的"localhost&q ...

  3. 一、Ansible基础之入门篇

    目录 1. Ansible基础 1.1 介绍 1.2 工作原理 1.3 如何安装 1.3.1 先决条件 1.3.2 安装Ansible 1.4 管理节点与被管理节点建立SSH信任关系 1.5 快速入门 ...

  4. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  5. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  6. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  7. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  8. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  9. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

随机推荐

  1. thinkphp 对百度编辑器里的内容进行保存

    模板代码 <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="U ...

  2. linux mongodb数据库的安装

    折腾两天, 前领导留下的烂摊子,前天忽然挂掉了, 整个公司就我会linux, 奶奶的, 一言难尽. 下面记录下怎么安装mongodb, 前面是从菜鸟教程复制来的 1. 下载 MongoDB 提供了 l ...

  3. 【CentOS】CentOS7.0 mysql与卸载

    mysql安装: 在使用命令 yum list mysql-server 安装mysql的时候,发现没有mysql的包.这时候,我们需要下载一个 下载包 wget http://repo.mysql. ...

  4. Zend Framework2 入门教程(转)

    转载自: http://my.oschina.net/lai1362000/blog/201301 重申:这本书作者的截图我都放上去了,没侵权啊. 别问那么多,我只是一个安静的搬砖工. 摘要 Zend ...

  5. tpshop全局公共方法

    TPshop 全局公告函数库 前后台可用  这里只列出有哪些方法, 简单描述, 具体的函数体查看 Application\Common\Common\function.php 文件 <?php ...

  6. Couchbase 如何设置密码;bucketPassword设置密码

    Couchbase  默认创建的 bucket(桶)是没有密码的,那么在 web.config 里面的连接字符串是这样的   <!--配置缓存开始--> <configSection ...

  7. Linux 定时任务crontab_014

    1.  crontab命令概念 crontab命令用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行. cron 系统调度进程. 可以使 ...

  8. 配置IDEA Scala环境

    http://snglw.blog.51cto.com/5832405/1634595

  9. 加密算法(扩展知识:Base64编码)

    在某些考虑数据安全的场景下,我们常常会用到加密解密.编码解码知识.比如把用户密码保存到数据库上,常用的方式是通过MD5或SHA1不可逆算法进行加密后密文保存. 这里主要介绍三种常用的加密算法: (1) ...

  10. vs技巧总结

    工欲善其事,必先利其器,作为一个优秀的程序员很重要的一点就是要善用工具.最近专注于工具开发的我,最近觉得工具的使用,站在巨人的肩膀上进行劳作,而不是不断的造轮子,是非常重要的. 时间最贵,因为对于每个 ...