ansible 简介

1 ansible 简介

服务

  • mysql的主从

  • lnmp

  • 执行命令、脚本

什么是ansible

  • 批量管理主机软件

ansible的用法

  • 命令:ad-hoc

    • 执行一个操作

  • 脚本:playbook

    • 执行一组操作

  • 模块:期望执行操作类型

    • yum模块

    • service模块 等等。。

2 安装ansible

    ansible的安装包在epel源中,可以使用本地下载epel源,

  • yum -y install epel-release

  1. 安装ansible

1 [root@master ~]# cd /etc/yum.repos.d/
2 [root@master yum.repos.d]# rm -rm epel*
3 [root@master yum.repos.d]# wget http://mirrors.aliyun.com/repo/epel-6.repo
4 [root@master yum.repos.d]# yum clean all
5 [root@master ~]# yum install ansible -y

ansible的简单使用

  • /etc/ansible/ansible.cfg:ansible的主配置文件

    • 禁用查看指纹信息:host_key_checking = False

  • /etc/ansible/hosts:被管理主机清单文件

    • 定义被管理节点的地址列表

    • 主机数量多,需要定义主机组

3 免密认证

1 # 1)在管理节点,生成密钥对
2 [root@master ~]# ssh-keygen -t rsa
3 4 # 2)将公钥文件发送到被管理节点
5 [root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.177.246
6 [root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.177.247

4 管理被管理节点

1)在管理节点安装ansible

1 [root@master ~]# cd /etc/yum.repos.d/
2 [root@master yum.repos.d]# rm -rm epel*
3 [root@master yum.repos.d]# wget http://mirrors.aliyun.com/repo/epel-6.repo
4 [root@master yum.repos.d]# yum clean all
5 [root@master ~]# yum install ansible -y

2)配置免密认证

1 # 1)在管理节点,生成密钥对
2 [root@master ~]# ssh-keygen -t rsa
3 4 # 2)将公钥文件发送到被管理节点
5 [root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.177.246
6 [root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.177.247

3)修改主机清单文件

1 # 1)在管理节点,生成密钥对
2 [root@master ~]# ssh-keygen -t rsa
3 4 # 2)将公钥文件发送到被管理节点
5 [root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.177.246
6 [root@master ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.177.247

4)检查被管理节点是否在线

1 [root@master ~]# ansible myserver -m ping
2 192.168.177.246 | SUCCESS => {
3     "changed": false, 
4     "ping": "pong"
5 }
6 192.168.177.247 | SUCCESS => {
7     "changed": false, 
8     "ping": "pong"
9 }

5)在被管理节点安装apache

1 [root@master ~]# ansible myserver -a "yum install httpd -y"
2 [root@master ~]# ansible myserver -a "rpm -q httpd"
3 192.168.177.246 | SUCCESS | rc=0 >>
4 httpd-2.2.15-69.el6.centos.x86_64

6)启动被管理节点上的apache

1 [root@master ~]# ansible myserver -a "yum install httpd -y"
2 [root@master ~]# ansible myserver -a "rpm -q httpd"
3 192.168.177.246 | SUCCESS | rc=0 >>
4 httpd-2.2.15-69.el6.centos.x86_64

7)关闭被管理节点的防火墙和selinux

 1 [root@master ~]# ansible myserver -a "service iptables stop" 2 [root@master ~]# ansible myserver -a "setenforce 0" 

 

原文地址:https://www.cnblogs.com/wendyluo/p/13137588.html