自动化运维工具Ansible

ansible概述和运行机制

ansible概述Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。Ansible基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作

ansiblle具有如下特点:

1、部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;
2、默认使用SSH协议对设备进行管理;
3、主从集中化管理;
4、配置简单、功能强大、扩展性强;
5、支持API及自定义模块,可通过Python轻松扩展;
6、通过Playbooks来定制强大的配置、状态管理
7、对云计算平台、大数据都有很好的支持;

Ansible 工作机制

Ansible 在管理节点将 Ansible 模块通过 SSH 协议推送到被管理端执行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排。
自动化运维工具Ansible_第1张图片
由上面的图可以看到 Ansible 的组成由 5 个部分组成:
Ansible : ansible核心
Modules : 包括 Ansible 自带的核心模块及自定义模块
Plugins : 完成模块功能的补充,包括连接插件、邮件插件等
Playbooks : 剧本;定义 Ansible 多任务配置文件,由Ansible 自动执行
Inventory : 定义 Ansible 管理主机的清单

实战-安装并配置Ansible管理两个节点

实验环境:

ansible 服务端 jc88 192.168.1.88
ansible节点1:jc88 192.168.1.88
ansible节点2:jc99 192.168.1.99

在jc88上安装ansible

设置EPEL仓库

在这里插入图片描述

安装ansible

在这里插入图片描述

查看ansible版本

自动化运维工具Ansible_第2张图片

查看配置文件

在这里插入图片描述

配置需要管理的节点

在这里插入图片描述

检查能否ping同

报错的原因是第一次使用ssh连接时会给我们一个指纹码这里我们没有

自动化运维工具Ansible_第3张图片

先使用ssh连接一次获取指纹码

自动化运维工具Ansible_第4张图片

查看

在这里插入图片描述

在这里插入图片描述

再次使用ansible看看能否ping同

结果显示可以因为ping命令不会改变被管理的服务器的状态。所以是false正常

自动化运维工具Ansible_第5张图片

基于ssh密钥来访问主机清单

生成公钥和私钥

自动化运维工具Ansible_第6张图片

给节点发送公钥

在这里插入图片描述

自动化运维工具Ansible_第7张图片

自动化运维工具Ansible_第8张图片

配置ansible需要管理的节点

在这里插入图片描述

看看能否ping通

结果显示可以

自动化运维工具Ansible_第9张图片

使用uptime测试

成功

自动化运维工具Ansible_第10张图片

使用uname查看节点系统版本

成功

自动化运维工具Ansible_第11张图片

给节点服务器添加用户

成功

自动化运维工具Ansible_第12张图片

你可能感兴趣的:(自动化运维工具Ansible)