使用 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。

首先,检查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,以及如何通过 SSH 从 Ansible 连接到另一台服务器并配置希望这篇文章至少能激发大家对 Ansible 和运维自动化的一些兴趣。
今天就到这里。

如果您觉得这篇文章有用,请点击【点赞】!
0
加载中...
0票,平均分:0.00/10
946
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

冈崎润一郎

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

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

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