Ansible 系列(一)

Ansible 是什么?

Ansible 是一款自动化工具。可以用它来配置系统,部署程序,甚至更高级的持续部署。

Ansible 难不难?

Ansible 设计的主要目的就是简单易用。但虽然简单,却拥有极强的安全性和可靠性。Ansible 采用的是 OpenSSH 无代理方式管理机器,由于 OpenSSH 是备受广大用户检验过的开源组件之一,因此安全性极高。同时,Ansible 还是分布式的 — 依赖系统凭据来控制远程主机,无需在远程主机安装客户端。

直接步入正题吧!

安装

很简单,直接通过 pip 即可安装:

初步使用

我们要想控制远程主机,当然得让 Ansible 知道要控制哪台主机。这个信息就存储在一个叫做“清单”的文件中。

该“清单”文件默认存放在 文件中,我们现在把受管的主机信息添加到 清单文件中:

如果你想自定义“清单”文件的存储路径,则在执行命令的时候通过 来指定自己的“清单”文件。

我现在是存在默认位置的,所以我就不使用 参数了,现在执行如下命令:

这个命令很简单,一看就知道是对这台主机进行 ping 操作。

执行后,返回的结果如下:

失败了?为什么会出现这个错误?

哈哈,我们在“清单”文件中就填了一个 ip,就算 Ansible 再怎么厉害,怎么可能不用密码就能有权限管理这台主机呢。

我们添上用户名密码配置:

这个配置是基于密码认证的,但是为了提高安全性,通常会基于密钥认证,密码认证甚至都会被禁用。

我们将本机公钥添加到受管主机的认证列表之后就可以直接这么配置“清单”:

因为添加了公钥,所以可以省略密码,而sshd端口本来就采用的默认 22,所以也可以省略。

最后,为了以后我们能方便地管理受管主机,我们可以像域名一样给我们的受管主机也起个别名:

再次执行:

成功!

好了,Ansible 的大体执行流程就是这么简单。下一篇我们接着看看“清单”文件还有有哪些神奇功效。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181011G27VZN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券