目录
一.Ansibe自动化概述
1.特点
1).部署简单,没有客户端,只需在主控端部署Ansible环境,被控端无需做任何操作
2).模块化:调用特定的模块,完成特定任务
3).默认使用SSH协议对设备进行管理;
4).主从集中化管理;
5).配置简单、功能强大、扩展性强;
6).支持API及自定义模块,可通过Python轻松扩展;
7).通过Playbooks来定制强大的配置、状态管理
8).对云计算平台、大数据都有很好的支持;
9).具有幂等性:一个操作在一个主机上执行一遍和执行N遍的结果是一样的
2.工作特性
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务
3.应用场合
大批量部署时,集群,容器集群
二.ansibe安装即相关文件说明
1.安装
安装epel-release源
Yum -y install epel-release
安装ansibe
Yum -y install ansibe
2.相关文件
/etc/ansibe 安装目录
/etc/ansibe/hosts 部署段的hosts
/etc/ansibe/roles playbook相关(playbook用来定义任务和工作流)
/etc/ansible/ansible.cfg 主配置文件
3.主配置文件内容详解
[defaults]
# some basic default values...
#inventory = /etc/ansible/hosts #指定默认的主机清单文件路径
#library = /usr/share/my_modules/ #指定自定义模块的路径
#module_utils = /usr/share/my_module_utils/ #指定自定义模块使用工具
#remote_tmp = ~/.ansible/tmp #指定在远程主机上临时文件的存放路径
#local_tmp = ~/.ansible/tmp #指定在本地主机上临时文件的存放路径
#plugin_filters_cfg = /etc/ansible/plugin_filters.yml #指定插件过滤器配置文件的路径
#forks = 5 #设置ansible并行执行任务的最大数量(并发数)
#poll_interval = 15 #设置ansible轮询任务状态的时间间隔
#sudo_user = root #指定默认的sudo用户
#ask_sudo_pass = True #如果设置为 True,Ansible在执行需要sudo权限的任务时会提示输入sudo用户的密码
#ask_pass = True #如果设置为 True,Ansible在连接远程主机时会提示输入远程用户的密码。
#transport = smart #指定默认的连接方式
#remote_port = 22 #指定默认的远程连接端口号
#module_lang = C #指定模块运行的语言环境
#module_set_locale = False #如果设置为 True,Ansible会在执行模块时设置相应的locale环境变量
4.ansibe运行机制
Ansible:ansibe的核心模块,是Ansible自动化工具中的基础构建块
Host Inventory:主机清单,就是被管理的主机列表
Playbooks:ansibe的剧本,可想象为将多个任务放置在一起,一起执行
Core Modules:ansibe的核心模块,是Ansible框架的一部分。涵盖了各种常见的系统管理和配置操作,如文件管理、用户管理、软件包安装、服务管理、复制文件、模板渲染等
Custom Modules:自定义模块