如何安装和配置'Ansible'自动化工具的IT管理 - 第1部分

Ansible是一个开源的功能强大的自动化软件,用于在节点上配置,管理和部署软件应用程序,而无需任何停机时间

Ansible是一个开源的,功能强大的自动化软件,用于配置,管理和仅仅通过使用SSH部署没有任何停机时间节点上的软件应用程序。 今天,大多数IT自动化工具作为远程主机中的代理运行,但Ansible仅需要SSH连接和Python(2.4或更高版本)安装在远程节点上执行操作。

在Linux中安装Ansible

在Linux中安装Ansible

Ansible如何工作?

有很多类似的自动化工具,如Puppet,Capistrano,Chef,Salt,Space Walk等,但Ansible分为两种类型的服务器:控制机器和节点。

控制机器,其中安装了Ansible,节点由此控制机器通过SSH管理。 节点的位置通过控制机器的库存来指定。

控制机器(Ansible)使用SSH协议将模块部署到节点,并且这些模块临时存储在远程节点上,并通过标准输出上的JSON连接与Ansible机器进行通信。

Ansible是无代理的,这意味着不需要在远程节点上安装任何代理,所以这意味着当没有任何后台守护程序或程序正在为Ansible执行时,当它不管理任何节点。

Ansible可以通过SSH连接从单个系统处理100个节点,整个操作可以通过一个单独的命令“ansible”来处理和执行。 但是,在某些情况下,您需要为部署执行多个命令,在这里我们可以构建剧本。

Playbooks是一组可以执行多个任务的命令,每个Playbook都是YAML文件格式。

什么是使用Ansible

Ansible可以在IT基础设施被用于管理和部署软件应用到远程节点。 例如,假设您需要通过单个命令将单个软件或多个软件部署到100个节点,这里使用Ansible可以在Ansible的帮助下,您可以使用一个命令将多个应用程序部署到许多节点,但你必须有一些编程知识来理解ansible脚本。

我们已经编制了Ansible,标题“ 为你的IT基础架构与IT Ansible自动化工具的部署准备 ”系列,通过部分1-4和涵盖以下主题。

第1部分 :如何安装和配置Ansible在Linux的IT管理
4部分 :Ansible-库管理加密数据亚马尔

在本文中,我们将向您展示如何在RHEL / CentOS 7/6,Fedora 21-19,Ubuntu 14.10-13.04和Debian 7/6系统上安装“Ansible”,并且我们将介绍如何管理服务器通过安装软件包,应用更新等等从基本到专业。

先决条件

  1. 操作系统 :RHEL / CentOS的/ Fedora和Ubuntu /于Debian / Linux Mint的
  2. Jinja2的 :为Python现代,快速,易于使用的独立的模板引擎。
  3. PyYAML:一个YAML分析器和发射器为Python编程语言。
  4. parmiko:一个原生的Python SSHv2的通道库。
  5. httplib2的 :一个全面的HTTP客户端库。
  6. sshpass:非交互的SSH密码认证。

我的环境设置

控制机 - Ansible
Operating System :	Linux Mint 17.1 Rebecca
IP Address	 :	192.168.0.254
Host-name	 :	howtoing.instrcutor.com
User		 :	howtoing
远程节点
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114

第1步:安装控制机 - Ansible

1.在安装“Ansible”在服务器上,让我们先核实像主机名和IP地址的服务器的详细信息。 以root用户身份登录到服务器,并执行以下命令以确认我们将要用于此设置的系统设置。

# sudo ifconfig | grep inet
验证系统细节

验证系统细节

2.一旦你确认你的系统设置,它的时间在系统上安装“Ansible”软件。

在Ubuntu / Debian / Linux Mint

这里我们将在系统上使用官方Ansible PPA存储库,只需运行以下命令添加存储库。

$ sudo apt-add-repository ppa:ansible/ansible -y
$ sudo apt-get update && sudo apt-get install ansible -y
添加Ansible PPA

添加Ansible PPA

在Ubuntu中安装Ansible

在Ubuntu中安装Ansible

在RHEL / CentOS / Fedora上

遗憾的是,没有针对基于RedHat的克隆的官方Ansible仓库,但是我们可以通过在RHEL / CentOS 6,7下启用epel仓库并且当前支持Fedora发行版来安装Ansible。

Fedora用户可以直接通过默认存储库安装Ansible,但如果你使用RHEL / CentOS的6,7,您必须启用EPEL回购

配置epel存储库后,您可以使用以下命令安装Ansible。

$ sudo yum install ansible -y

安装成功后,可以通过执行以下命令验证版本。

# ansible --version
验证Ansible版本

验证Ansible版本

第2步:准备SSH密钥到远程主机

4.要执行从本地主机的任何部署或管理远程主机首先我们需要创建和SSH密钥复制到远程主机。 在每一个远程主机会有一个用户帐户howtoing(在您的情况可能会有所不同的用户)。

首先,我们使用以下命令创建SSH密钥,并将密钥复制到远程主机。

# ssh-keygen -t rsa -b 4096 -C "admin@howtoinglocal.com"
创建SSH密钥

创建SSH密钥

5.成功创建SSH密钥之后,现在复制创建的关键,所有的三个远程服务器。

# ssh-copy-id howtoing@192.168.0.112
# ssh-copy-id howtoing@192.168.0.113
# ssh-copy-id howtoing@192.168.0.114
复制SSH密钥远程服务器

复制SSH密钥远程服务器

复制SSH密钥第二个远程主机

复制SSH密钥第二个远程主机

6.复制所有SSH密钥到远程主机后,现在所有远程主机上执行SSH密钥认证检查认证是否工作或没有。

$ ssh howtoing@192.168.0.112
$ ssh howtoing@192.168.0.113
$ ssh howtoing@192.168.0.114
SSH密钥认证

SSH密钥认证