Ansible安装与配置(自动化运维管理工具)
来源:互联网 发布:求实软件官网 编辑:程序博客网 时间:2024/05/17 11:58
原文链接:http://blog.csdn.net/xyang81/article/details/51568227
Ansible是一个简单高效的自动化运维管理工具,用Python开发,能大批量管理N多台机器,可以并发的在多台机器上部署应用、安装软件、执行命令、配置和编排任务。
一、Ansible工作机制
从图中可以看出ansible分为以下几个部份:
1> Control Node:控制机器
2> Inventory:主机清单,配置管理主机列表
3> Playbooks:剧本、任务编排。根据规则定义多个任务,模块组织结构清晰,由ansible自动执行。
4> Modules(Core | Custom):模块,用于执行某个具体的任务
5> connection plugin(连接插件):Ansible通过不同的协议连接到远程主机上,执行指定的命令。默认采用ssh协议连接远程主机。
二、Ansible执行流程
简单理解就是Ansible在运行时,首先读取ansible.cfg中的配置,根据规则获取Inventory中的管理主机列表,并行的在这些主机中执行配置的任务,最后等待执行返回的结果。
三、安装Ansible
一台控制主机:192.168.0.202
三台管理主机:
- 192.168.0.200
- 192.168.0.201
- 192.168.0.203
安装要求:
- 控制服务器:需要安装 Python2.6/2.7
- 管理服务器:需要安装 Python2.4 以上版本,若低于 Python2.5 需要安装 pythonsimplejson; 若启用了 selinux,则需要安装 libselinux-python。
本次安装基于CentOS7系统环境、Python2.7.5、root用户。
3.1、yum安装(推荐)
- 1
- 2
3.2、pip安装
- 1
注:pip方式安装不会在/etc/ansible目录下生成默认的相关配置文件
四、配置
控制主机:用于控制其它机器的主机
管理主机:被控制主机管理的主机
4.1、配置管理主机
- 1
在hosts文件中添加管理主机的IP地址列表:
4.2、配置控制主机SSH密钥
4.2.1、在控制主机中生成ssh密钥对
- 1
一路回车即可在$HOME/.ssh目录下生成id_rsa和id_rsa.put私钥和公钥两个文件。
注: 如果在生成密钥的时候设置了密码,ansible每次执行命令的时候,都会提示输入密钥密码,可通过下面的命令记住密码。
- 1
- 2
4.2.2、将公钥拷贝到管理主机中.ssh/authorized_keys文件中,实现免密码登录远程管理主机
- 1
- 2
- 3
注:ssh-copy-id命令会自动将id_rsa.pub文件的内容追加到远程主机root用户下.ssh/authorized_keys文件中。
4.2.3、ansible配置
- 1
1> 禁用每次执行ansbile命令检查ssh key host
host_key_checking = False
2> 开启日志记录
log_path = /var/log/ansible.log
3> ansible连接加速配置
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
五、测试
最后测试下在三台管理机器批量执行一个ping命令
- 1
结果如下:
从上图可以看出,在每台管理机器上都成功执行了ping命令。
一些Ansible深入功能的学习资料:
http://blog.xiaorui.cc/category/ansible/
http://lixcto.blog.51cto.com/4834175/d-4
https://github.com/ansible/ansible-examples
http://rfyiamcool.blog.51cto.com/1030776/d-51
http://dl528888.blog.51cto.com/2382721/d-4/p-1
http://edu.51cto.com/course/course_id-2220.html
http://edu.51cto.com/course/course_id-2032.html
- Ansible安装与配置(自动化运维管理工具)
- Ansible安装与配置(自动化运维管理工具)
- 自动化运维管理工具ansible的配置与使用
- 《Ansible自动化运维》—1.(ansible与devops)
- Ansible 很实用也好用的运维自动化管理工具
- ansible自动化运维工具的安装与使用
- 自动化运维工具Ansible的安装与使用
- 运维自动化之ansible的安装与使用
- 自动化运维工具ansible的安装与使用
- ansible 自动化运维
- ansible运维自动化
- ansible离线安装(自动化)
- 05.12 ansible批量自动化管理工具
- Centos7 自动化工具 Ansible 安装配置
- 自动化运维工具之 Ansible 介绍及安装使用
- 自动化运维工具Ansible(一)---安装部署
- Ansible - 自动化运维工具
- 运维自动化工具Ansible
- 【蓝桥杯】【打印十字图】
- ES6 Module语法
- web字体选择
- Neo4j 第四篇:使用C#更新和查询Neo4j
- centos安装screen ubuntu安装screen 编译安装screen
- Ansible安装与配置(自动化运维管理工具)
- <Brain> The Anatomy of Movement
- 【性能】rabbitMQ压测
- Hive中压缩设置 和 Hive文件存储格式及使用
- 转盘抽奖Java后端代码
- Java多线程____Servlet线程安全问题
- Neo4j 第五篇:批量更新数据
- 深入java集合系列:java8 LinkedList详解
- 1.创建一个Rectangle类,添加width和height两个成员变量。 2.在Rectangle中添加两种方法分别计算矩形的周长和面积 3.编程利用Rectangle输出一个矩形的周