自动化运维工具Ansible------概述及安装

本文详细介绍了Ansible的概述、特点和工作原理,并提供了在Linux环境中安装Ansible的步骤,包括修改主机名、关闭防火墙、安装扩展源及Ansible工具、配置主机清单、生成密钥对等,最后展示了如何使用Ansible查询远程主机信息。
摘要由CSDN通过智能技术生成

一、Ansible概述

1、Ansible是什么

Ansible是一款轻量级的管理软件,使用SSH和节点进行通信,不需要在节点中安装任何客户端,对多台主机进行同时操作,借助自身各模块实现批量系统配置、程序部署、运行命令等功能。

2、Ansible特点

  • Ansible基于Python语言开发,只在一台服务器上运行即可,由于Ansible基于SSH远程管理,因此不需要为配置工作添加额外的支持。
  • Ansible安装使用非常简便,基于上千个插件和模块实现各种软件、平台、版本的管理,支持虚拟容器多层级的部署。通过优化SSH连接速度及使用Ansible加速模块,满足企业上万台服务器的维护和管理。

3、Ansible工作原理

Ansible分为控制端和被控端,基于SSH协议管理客户端,被控端不需要安装Agent插件,Ansible读取控制端hosts文件,根据文件中定义IP列表信息,调取本地各模块对被控端机器实现批量、并发的配置管理和维护,若任务比较复杂,则写成PlayBook剧本进行分发管理。

二、Ansible安装

修改主机名、关闭系统防火墙及安全防护机制

#192.168.88.10
[root@localhost ~]# hostnamectl set-hostname ansible
[root@localhost ~]# su -
上一次登录:四 930 16:03:59 CST 2021192.168.88.1pts/2 上
[root@ansible ~]# systemctl stop firewalld.service 
[root@ansible ~]# systemctl disable firewalld.service 
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@ansible ~]# setenforce 0

#192.168.88.20主机名改为web,其他操作与192.168.88.10相同
#192.168.88.30主机名改为mysql,其他操作与192.168.88.10相同

安装epel扩展源及ansible自动化运维工具

[root@ansible ~]# yum -y install epel-release
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: ftp.iij.ad.jp
软件包 epel-release-7-14.noarch 已安装并且是最新版本
无须任何处理
[root@ansible ~]# yum -y install python-jinja2
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: ftp.iij.ad.jp
无须任何处理
[root@ansible ~]# yum -y install ansible
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: ftp.iij.ad.jp
软件包 ansible-2.9.25-1.el7.noarch 已安装并且是最新版本
无须任何处理

安装树型结构查询工具

[root@ansible ~]# yum -y install tree
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * epel: ftp.iij.ad.jp
软件包 tree-1.6.0-10.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@ansible ~]# tree /etc/ansible/        #查看ansible目录结构
/etc/ansible/
├── ansible.cfg             #主配置文件
├── hosts                   #主机清单
└── roles                   #存放角色目录

1 directory, 2 files

编辑主机清单配置文件

vim /etc/ansible/hosts

#配置主机清单
#主机名定义组名,及对应的主机IP
[web]
192.168.88.20
[mysql]
192.168.88.30

在这里插入图片描述
生成密钥对

#使用非对称秘钥加密生成密钥对
ssh-keygen -t rsa

#上传公钥到被控端
ssh-copy-id root@192.168.88.20
ssh-copy-id root@192.168.88.30

使用ssh-agent代理,避免每次查询都需要输入密钥

[root@ansible ~]# ssh-agent bash
[root@ansible ~]# ssh-add
Enter passphrase for /root/.ssh/id_rsa: 
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

#查询web和mysql组中日期
[root@ansible ~]# ansible web -m command -a 'date'  
192.168.88.20 | CHANGED | rc=0 >>
2021年 09月 30日 星期四 17:29:39 CST
[root@ansible ~]# ansible mysql -m command -a 'date'
192.168.88.30 | CHANGED | rc=0 >>
2021年 09月 30日 星期四 17:29:45 CST
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值