Ansible介绍与安装使用

Ansible介绍与安装使用

1. 介绍Ansible

Ansible是一款自动运维工具,基于Python开发,集合了众多运维工具的优点。实现了批量系统配置、程序部署以及运行命令等功能。完全借助SSH来进行通信,易学易用、具有一致性、高可靠性和安全性、唯一局限就是无法配置逻机和虚拟机。

1.1 Ansible架构组成

在这里插入图片描述

  • (1)Host Inventory/主机清单:需要知道每台账户的账号密码。但是它是一个文件,不安全。于是可以使用免密登录,在absible生产密钥,传到主机里面去,以后就不需要生产用户名和密码。(相当于演戏的招人管理)
  • (2)Play books/剧本:palybooks是写剧本,ansible是导演,host inventory告诉你招到了哪些人来演戏。
  • (3)Core Modules:是核心模块;Custom Modules:定制模块(二次开发),觉得功能不够完善,加上新的功能
  • (4)Plugins(email、logging、other):插件,别人开发的。除了你现有的一些模块,它还会安装一些插件,完成一些不同的事情
  • (5)Connection Plugins:连接插件,用来连接主机的,负责和被监控端实现通信
  • (6)Public/Private Cloud:除了可以连接自己的主机以外,还可以连接公有云或者私有云上面的主机,使用ssh连接上了就能管理
  • (7)一句话概括:管理员通过Ansible里面的清单、模块、插件、剧本来管理里的服务器,服务器可能有网址、数据库、应用等等的服务器。(各种服务器)

免密登录

  • ssh-keygen -t rsa
  • ssh-copy-id root@IP**

1.2 Ansible 无需代理

Ansible 围绕无代理架构构建。通常而言,Ansible 通过 OpenSSH 或 WinRM 连接它所管理的主机并且运行任务,方法通常是将称为 Ansible 模块的小程序推送至这些主机。这些程序用于将系统置于需要的特定状态。在 Ansible 运行完其任务后,推送的所有模块都会被删除。

Ansible 不需要批准使用任何特殊代理,然后再部署到受管主机上。由于没有代理,也不需要额外的自定义安全基础架构。

Ansible 具有多个重要的优点:

  • 跨平台支持:Ansible 提供Linux、Windows、UNIX和网络设备的无代理支持,适用于物理、虚拟、云和容器环境。
  • 人类可读的自动化:Ansible Playbook采用YAML文本文件编写,易于阅读,有助于确保所有人都能理解它们的用途。
  • 完美描述应用:可以通过 Ansible Playbook进行每种更改,并描述和记录应用环境的每一个方面。
  • 轻松管理版本控制:Ansible Playbook和项目是纯文本。它们可以视作源代码,放在现有版本控制系统中。
  • 支持动态清单:可以从外部来源动态更新 Ansible 管理的计算机列表,随时获取所有受管服务器的当前正确列表,不受基础架构或位置的影响。
  • 编排可与其他系统轻松集成:能够利用环境中现有的 HP SA、Puppet、Jenkins、红帽卫星和其他系统,并且集成到 Ansible 工作流中。

1.3 Ansible 方式

Ansible 的设计宗旨是工具易用,自动化易写易读。所以在创建自动化时我们应追求简单化。

Ansible 自动化语言围绕简单易读的声明性文本文件来构建。正确编写的 Ansible Playbook可以清楚地记录你的工作自动化。

Ansible 是一种要求状态引擎。它通过表达你所希望系统处于何种状态来解决如何自动化IT部署的问题。Ansible 的目标是通过仅执行必要的更改,使系统处于所需的状态。试图将 Ansible 视为脚本语言并非正确的做法。

2 安装Ansible

2.1 控制节点

Ansible 易于安装。 Ansible 软件只需要安装到要运行它的一个(或多个)控制节点上。由 Ansible管理的主机不需要安装 Ansible。

对控制节点的要求

  • 控制节点应是Linux或UNIX系统。不支持将Windows用作控制节点,但Windows系统可以是受管主机
  • 控制节点需要安装Python3(版本3.5或以上)
  • 如果操作系统是红帽8.0,Ansible 2.9可以自动使用 platform-python 软件包,该软件包支持使用Python的系统实用程序。你不需要从 AppStream安装python37或python27软件包。
 [root@localhost ~]# yum list installed platform-python
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository 'AppStream' is missing name in configur
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值