码迷,mamicode.com
首页 > 其他好文 > 详细

ansible及ansible-palybook使用(持续更新)

时间:2015-06-23 23:19:48      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:ansible自动化部署与使用

一、简介


Ansible is a radically simple configuration-management, application deployment, task-execution, and multinode orchestration engine.


Design Principles


Have a dead simple setup process and a minimal learning curve

Be super fast & parallel by default

Require no server or client daemons; use existing SSHd

Use a language that is both machine and human friendly

Focus on security and easy auditability/review/rewriting of content

Manage remote machines instantly, without bootstrapping

Allow module development in any dynamic language, not just Python

Be usable as non-root

Be the easiest IT automation system to use, ever.


二、安装


2.1 编译安装


解决依赖关系


# yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto

# tar xf ansible-1.5.4.tar.gz

# cd ansible-1.5.4

# python setup.py build

# python setup.py install

# mkdir /etc/ansible

# cp -r examples/* /etc/ansible


2.2 rpm包安装


三、部署

3.1 四台主机

192.168.1.220   svn.abc.com     svn

192.168.1.221   rs1.abc.com     rs1

192.168.1.222   rs2.abc.com     rs2

192.168.1.3     master.abc.com  master


3.2  系统版本

CentOS release 6.5

2.6.32-431.el6.x86_64


3.3 以220作为控制台,指挥着rs1,rs2,master

[root@svn ~]# yum list all ansib*

已加载插件:fastestmirror, security

Loading mirror speeds from cached hostfile

epel/metalink                                            | 3.2 kB     00:00     

 * base: centos.ustc.edu.cn

 * epel: mirrors.neusoft.edu.cn

 * extras: mirrors.pubyun.com

 * updates: centos.ustc.edu.cn

base                                                     | 3.7 kB     00:00     

epel                                                     | 4.4 kB     00:00     

getepel/primary_db           33% [=====          ]  16 kB/s | 2.2 MB     04:35 Eepel/primary_db                                                                                                                                                                    | 6.6 MB     03:24     

extras                                                                                                                                                                             | 3.4 kB     00:00     

updates                                                                                                                                                                            | 3.4 kB     00:00     

updates/primary_db                                                                                                                                                                 | 3.8 MB     00:03     

可安装的软件包

ansible.noarch                                                                                               1.9.1-1.el6                                                                              epel

ansible-inventory-grapher.noarch                                                                             1.0.1-2.el6                                                                              epel

ansible-lint.noarch                                                                                          2.0.1-1.el6                                                                              epel


[root@svn ~]# yum install ansible


3.4 改一下本地主机库

[root@svn ~]# cd /etc/ansible/

[root@svn ansible]# ls

ansible.cfg  hosts  roles

[root@svn ansible]# vim hosts

:.,$s/^\([^[:space:]#]\)/#\1/g注释掉例子再配置


[webservers]

rs1.abc.com

rs2.abc.com


[dbservers]

master.abc.com


3.5 任何svn联系被控制主机,基于ssh连接

[root@svn ansible]# ssh-keygen -t rsa -P ‘‘

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): 

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

71:dd:e4:81:47:bc:39:f3:b2:2b:9e:72:87:bc:60:b8 root@svn.abc.com

The key‘s randomart image is:

+--[ RSA 2048]----+

|             ++  |

|           ..+o. |

|        . . ..oo |

|         o    =  |

|        S      + |

|         .    . .|

|        . o. . o |

|         o..=.o  |

|        E  +++.. |

+-----------------+


[root@svn ansible]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@rs1.abc.com

[root@svn ansible]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@rs2.abc.com

[root@svn ansible]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@master.abc.com


3.6 执行一个事例测试一下

[root@svn ansible]# ansible all -m ping

rs2.abc.com | success >> {

    "changed": false, 

    "ping": "pong"

}


rs1.abc.com | success >> {

    "changed": false, 

    "ping": "pong"

}


master.abc.com | success >> {

    "changed": false, 

    "ping": "pong"

}


本文出自 “散人” 博客,请务必保留此出处http://zouqingyun.blog.51cto.com/782246/1664758

ansible及ansible-palybook使用(持续更新)

标签:ansible自动化部署与使用

原文地址:http://zouqingyun.blog.51cto.com/782246/1664758

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!