目录
[一.Ansible 概述和运行机制](#一.Ansible 概述和运行机制)
[1.Ansible 概述](#1.Ansible 概述)
[2.Ansible 工作机制](#2.Ansible 工作机制)
[二.Ansible 环境安装部署](#二.Ansible 环境安装部署)
1.command模块(可以远程执行命令类,但不支持管道以及重定向)
[四.Inventory 主机清单与变量配置](#四.Inventory 主机清单与变量配置)
前言:
今天我要介绍的是自动化运维高效工具,集中化管理服务器ansible的基础概念以及相关的命令具体应用和操作。
一.Ansible****概述和运行机制
1.Ansible****概述
Ansible 是一款面向类 Unix 系统的自由开源配置和自动化工具,由 Python 编写。与 SaltStack 、
Puppet 、 Chef 相似,但具有以下优势:
无需在被管理节点安装客户端,轻量级。
通过 SSH 协议与节点通信。
使用 YAML 和 Jinja2 模板语言进行配置和自动化任务编排。
Ansible 特点 :
部署简单,管理端安装即可,被控端无需操作;
默认使用 SSH 协议管理设备;
集中化管理,支持主从模式;
配置简洁、功能强大、扩展性高;
支持 API 和自定义模块,可通过 Python 扩展;
Playbook 可实现复杂任务配置和状态管理;
对云计算和大数据平台支持良好。
2.Ansible 工作机制
Ansible 通过 SSH 将模块推送到被管理节点执行,执行完后自动删除。可结合 SVN 等工具管理自定义模块及任务编排。

Ansible 核心组成 :
Ansible :核心引擎
Modules :内置核心模块和自定义模块
Plugins :补充模块功能,如连接插件、邮件插件等
Playbooks :剧本,定义多任务操作
Inventory :主机清单
二.Ansible****环境安装部署
关系示例如下:

管理端安装Ansible:

目录结构:

配置主机清单:

配置免密登录:

三.Ansible基础命令及模块操作
基础命令格式:
ansible < 组名 > -m < 模块 > -a < 参数 >
1.command模块(可以远程执行命令类,但不支持管道以及重定向)

2.shell模块(支持管道和shell特性)

3.cron模块(管理计划任务)

4.user模块(用户管理操作)


5.group模块(用户组管理)

6.copy模块(复制文件或内容)

7.file模块(文件管理)

8.hostname模块(修改主机名)

9.ping模块(测试连通性)

10.yum模块(管理安装)

11.service/systemd模块(服务管理)

12.script模块(执行本地脚本)

13.setup模块(收集节点信息)

四.Inventory****主机清单与变量配置
1.Inventory****支持对主机进行分组

2.常用变量

实例:
2.1.主机变量

2.2.组变量

2.3.组嵌套

总结:
今天主要是讲了关于自动化运维工具Ansible的相关概念和基础命令模块的用法,希望对读者们有所帮助!