使用 Ansible 开始使用基础设施即代码(简介和安装)

大家好,
系统解决方案部门
SRE团队的冈崎

在日常运营中,您经常会发现自己在做类似的任务,搭建类似的服务器。
一遍又一遍地重复同样的事情会让人非常厌烦,
最终您不得不把本该用于其他工作的宝贵时间浪费在这些任务上。
为了消除这些重复性工作,我想介绍一下我最近开始使用的一个工具:Ansible。

Ansible是什么?

它通常被认为是一种用于部署管理和基础设施配置管理的配置管理工具。
其他具有代表性的配置管理工具包括 Chef 和 Puppet。
它们的区别如下:

厨师

  • 由主厨开发
  • 代理程序还必须安装在要执行操作的客户端上。
  • 配置文件是用 Ruby 编写的,这需要较高的学习成本。
  • 它比 Ansible 更早发布,并且至今仍在频繁更新。

木偶

  • 由 Puppet Labs 开发
  • 它既可以通过在客户端上安装代理来运行,也可以作为独立程序运行。
  • 三部曲中最古老的一部
  • 配置文件是用 Ruby 编写的,这需要较高的学习成本。

Ansible

  • 由红帽公司开发
  • 客户端无需安装代理。
  • 三人中最缺乏经验的那位
  • 配置文件是用 YAML 编写的,因此学习成本很低。

区别如上所述,但
只要客户端安装了 Python 2.4 或更高版本,并且可以建立 SSH 连接,Ansible 就可以工作。

Ansible 的特点

其他功能包括:

  • 幂等性

    与其他配置管理工具一样,Ansible 的特点在于其幂等性保证。
    这意味着无论使用特定模块执行多少次,它
    最终都会收敛到相同的状态,而无需任何用户干预。

  • 模块

    最少的参数来
    控制和执行
    要使用这些功能,您需要利用名为“模块”的预定义特性。
    模块用于创建详细的服务器配置(yum、用户、文件)和
    平台配置(ec2、azure、gce),虽然
    兼容性可能因 Ansible 版本而异,但它们通常都可以使用。

如何安装 Ansible

现在,我将向您展示如何安装 Ansible。

首先,检查Python版本。

# python --version Python 2.7.5

由于您的 Python 版本为 2.4 或更高版本,因此安装应该不会有任何问题。
我们将安装它以指定 EPEL 软件仓库。

# yum install epel-release

现在我们来安装 Ansible。

# yum install --enablerepo=epel ansible 安装:ansible.noarch 0:2.6.3-1.el7 安装依赖项:PyYAML.x86_64 0:3.10-11.el7 libtomcrypt.x86_64 0:1.17-26.el7 libtommath.x86_64 0:0.42.0-6.el7 libyaml.x86_64 0:0.1.4-11.el7_0 make.x86_64 1:3.82-23.el7 openssl.x86_64 1:1.0.2k-12.el7 python-babel.noarch 0:0.9.6-8.el7 python-cffi.x86_64 0:1.6.0-5.el7 python-enum34.noarch 0:1.0.4-1.el7 python-httplib2.noarch 0:0.9.2-1.el7 python-idna.noarch 0:2.4-1.el7 python-jinja2.noarch 0:2.7.2-2.el7 python-keyczar.noarch 0:0.71c-2.el7 python-markupsafe.x86_64 0:0.11-10.el7 python-paramiko.noarch 0:2.1.1-4.el7 python-ply.noarch 0:3.4-11.el7 python-pycparser.noarch 0:2.14-1.el7 python-6.noarch 0:1.9.0-2.el7 python2-crypto.x86_64 0:2.6.1-15.el7 python2-cryptography.x86_64 0:1.7.2-2.el7 python2-jmespath.noarch 0:0.9.0-3.el7 python2-pyasn1.noarch 0:0.1.9-7.el7 sshpass.x86_64 0:1.06-2.el7 完成!

安装完成!

# ansible --version ansible 2.6.3 配置文件 = /etc/ansible/ansible.cfg 配置的模块搜索路径 = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible Python 模块位置 = /usr/lib/python2.7/site-packages/ansible 可执行文件位置 = /usr/bin/ansible Python 版本 = 2.7.5 (默认,2018 年 7 月 13 日,13:06:57) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

Ansible 2.6.3 已成功安装!

概括

这次我简要介绍了 Ansible 并解释了它的安装方法。
实际安装 Ansible,然后如何使用 Ansible 建立与另一台服务器的 SSH 连接并
我想详细讲解如何
。希望这篇文章能激发大家对 Ansible 以及运维和配置自动化的兴趣。
今天就到这里。

如果您觉得这篇文章对您有帮助,请点个“赞”!
0
加载中...
0票,平均分:0.00/10
988
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

冈崎润一郎

在智能手机游戏的迁移和运营方面拥有丰富的经验。

我目前从事多云运维、服务器搭建和迁移方面的工作。随着项目数量的增加,我一直在思考如何提高工作效率。我经常会考虑各种服务器迁移方案,并权衡不同云平台的优势。

在进行云间迁移和物理环境到云环境迁移的过程中,该公司连续两次在日本MSP协会举办的比赛中获得冠军。