ansible入门_Ansible入门成功秘诀

ansible入门

Ansible是一种开源自动化工具,用于从一个中央位置配置服务器,安装软件以及执行各种IT任务。 这是一种一对多的无代理机制,其中所有指令均从通过SSH与远程客户端进行通信的控制机上运行,​​尽管也支持其他协议。

对于具有特权访问权限的系统管理员,他们通常执行诸如安装和配置应用程序之类的任务,而Ansible也可以由非特权用户使用。 例如,使用mysql登录ID的数据库管理员可以使用Ansible创建数据库,添加用户并定义访问级别控件。

让我们看一个非常简单的示例,其中系统管理员每天配置100台服务器,并且必须在每个服务器上运行一系列Bash命令,然后再将其交付给用户。

Mapping Bash commands to an Ansible playbook

这是一个简单的示例,但应说明在yaml文件中指定命令并在远程服务器上执行命令的容易程度。 在异构环境中,可以添加条件语句,以便仅在某些服务器中执行某些命令(例如,“仅在非Ubuntu或Debian的系统中执行yum命令”)。

Ansible中的一个重要功能是,剧本描述了计算机系统中所需的状态,因此,剧本可以在不影响服务器状态的情况下针对服务器多次运行。 如果已经执行了某个任务(例如,“用户sysman已经存在”),则Ansible会简单地忽略它并继续前进。

定义

  • 任务: 任务是最小的工作单元。 它可以是“安装数据库”,“安装Web服务器”,“创建防火墙规则”或“将此配置文件复制到该服务器”之类的操作。
  • 播放: 一场戏是由任务组成的。 例如,播放:“准备要由Web服务器使用的数据库”由以下任务组成:1)安装数据库包; 2)为数据库管理员设置密码; 3)创建一个数据库; 和4)设置对数据库的访问。
  • 剧本: 剧本由剧本组成。 一本剧本可能是:“用数据库后端准备我的网站”,而剧本将是:1)设置数据库服务器; 和2)设置Web服务器。
  • 角色: 角色用于保存和组织剧本,并允许共享和重用剧本。 按照前面的示例,如果您需要完全配置Web服务器,则可以使用其他人编写和共享的角色来做到这一点。 由于角色是高度可配置的(如果编写正确),因此可以轻松地重用它们以适应任何给定的部署要求。
  • Ansible星系: Ansible Galaxy是一个在线存储库,其中角色已上载,因此可以与其他人共享。 它与GitHub集成在一起,因此可以将角色组织到Git存储库中,然后通过Ansible Galaxy进行共享。

这些定义及其关系如下所示:

Ansible definitions and how they relate to each other

请注意,这只是组织需要执行的任务的一种方法。 我们本来可以将数据库和Web服务器的安装分成单独的剧本和不同的角色。 Ansible Galaxy中的大多数角色都安装和配置单个应用程序。 您可以看到有关安装mysql和安装httpd的示例。

编写剧本的技巧

学习Ansible的最佳来源是官方文档站点。 而且,和往常一样,在线搜索是您的朋友。 我建议从简单的任务开始,例如安装应用程序或创建用户。 准备就绪后,请遵循以下准则:

  • 在测试时,请使用一小部分服务器,以加快播放速度。 如果它们在一台服务器上成功,那么它们将在其他服务器上成功。
  • 务必进行--check-mode运行以确保所有命令均正常运行(使用--check-mode标志运行)。
  • 根据需要进行多次测试,而不必担心会损坏东西。 任务描述了期望的状态,因此,如果已经实现了期望的状态,则将其简单地忽略。
  • 确保/etc/ansible/hosts中定义的所有主机名都是可解析的。
  • 由于与远程主机的通信是使用SSH完成的,因此密钥必须由控制计算机接受,因此:1)在启动之前与远程主机交换密钥; 或2)准备输入“是”以接受要管理的每个远程主机的SSH密钥交换请求。
  • 尽管您可以在一个剧本中组合用于不同Linux发行版的任务,但是为每个发行版编写一个单独的剧本更为干净。

归根结底

Ansible是在数据中心实施自动化的绝佳选择:

  • 它是无代理的,因此比其他自动化工具更易于安装。
  • 指令在YAML中(尽管也支持JSON),因此比编写Shell脚本更容易。
  • 它是开源软件,因此请回馈它并使其变得更好!

您如何使用Ansible自动化数据中心? 在评论中分享您的经验。

翻译自: https://opensource.com/article/18/2/tips-success-when-getting-started-ansible

ansible入门

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值