Ansible:解放运维的双手

大家好,今天我们来聊聊一个神奇的工具,它能让IT运维人员从繁琐的手工操作中解放出来,它就是——Ansible!

一:产品亮点

Ansible 是一种自动化工具,它能够简化配置管理、应用程序部署和任务自动化等工作。与其他自动化工具相比,Ansible 的主要优势之一是其简单性和易用性。通过使用简单的 YAML 语法,用户可以轻松地编写 Playbook,实现对大型 IT 环境的自动化管理。

二:产品优势

  • 简单易学:Ansible 的语法简单,学习过 YAML 就能看懂
  • 无需代理:Ansible 不需要在目标服务器上安装任何代理,这就像是你告诉朋友去超市买东西,而不需要他先下载一个购物 App。
  • 跨平台:无论是 Linux、Windows 还是 MacOS,Ansible 都能游刃有余。

三:产品架构

  • connection plugins:负责和被监控端实现通信;
  • host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
  • playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
  • Ansible:ansible核心程序
  • Modules:ansible执行任务是由模块执行的,不是ansible它自己执行的
  • Playbook:剧本,Yaml定义的文件,类似于shell脚本

在这里插入图片描述

四:工作原理

ansible 分为控制端与被控端,当我么需批量的去对主机进行操作的时候,这时候我们可以通过 inventory 定义主机组和主机,安装的时候,我们可以编写playbook 或者 AD-HOC,然后把模块等推给被控端,然后被控端再执行 playbook 或者 AH-HOC,完成任务,这个推送过程是使用ssh的方式推送的,确保安全,并且客户端必须有 Python2,确保能够执行 playbook 或者 AD-HOC。

在这里插入图片描述

五:安装部署

1.环境主机

本次实例是在 ubuntu 22.04 系统下进行安装与使用,主机配置为 4C8G ,对于其他的Linux操作系统,本文不保证完全适用,但步骤类似,可以本文为参考进行搭建。

2.安装 ansible

# Ubuntu 编译版可在PPA中获得,配置PPA及安装ansible,执行如下命令:
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible

在这里插入图片描述

3.配置 ssh 公钥

在我们开始前要先理解 Ansible 是如何通过 SSH 与远程服务器连接是很重要的.

Ansible 1.3及之后的版本默认会在本地的 OpenSSH 可用时会尝试用其进行远程通讯.这会启用 ControlPersist(一个性能特性),Kerberos,和在 ~/.ssh/config 中的配置选项如 Jump Host setup.然而,当你使用 Linux 企业版 6 作为主控机(红帽企业版及其衍生版如 CentOS),其 OpenSSH 版本可能过于老旧无法支持 ControlPersist. 在这些操作系统中,Ansible 将会退回并采用 paramiko (由 Python 实现的高质量 OpenSSH 库). 如果你希望能够使用像是 Kerberized SSH 之类的特性,烦请考虑使用 Fedora, OS X, 或 Ubuntu 作为你的主控机直到相关平台上有更新版本的 OpenSSH 可供使用,或者启用 Ansible 的“accelerated mode“

# ansible 是没有任何代理的,而是通过 ssh 连接,所以我们在操作前需要配置 ssh 公钥
$ ssh-keygen
# 配置域名解析
192.168.1.200 node1.example.com
192.168.1.77  node2.example.com
# 执行 ssh-copy-id
$ ssh-copy-id node1.example.com
$ ssh-copy-id node2.example.com
# 如果被控主机可以登陆,也可将生成的公钥添加的被控主机的authorized_keys文件中

4.使用 ansible

配置好 ssh 与 DNS(域名解析) 后,我们就可以开始使用 ansible 了,第一次使用需要先配置 ansible 内部的 hosts,然后通过命令运行 ansible。

  • 配置 hosts

在这里插入图片描述

# 进入 /etc/ansible/hosts,配置模块 all
[all]
uat.xplaza.cn ansible_host=172.16.11.196
  • 运行 ansible

在这里插入图片描述

六:项目代码地址

项目地址:https://github.com/ansible/

国内网站地址:http://www.ansible.com.cn/

原文地址:https://www.xplaza.cn/topic/topicView?topicId=1304

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值