掌握Ansible 你需要这样一本指南

Ansilbe是一个部署一群远程主机的工具。远程的主机可以是远程虚拟机或物理机, 也可以是本地主机。

至顶网软件频道消息:Ansilbe是一个部署一群远程主机的工具。远程的主机可以是远程虚拟机或物理机, 也可以是本地主机。

Ansible能做什么?

Ansilbe通过SSH协议实现远程节点和管理节点之间的通信。理论上说,只要管理员通过ssh登录到一台远程主机上能做的操作,Ansible都可以做到。

包括:

·拷贝文件

·安装软件包

·启动服务

Ansible的架构

Ansilbe管理员节点和远程主机节点通过ssh协议进行通信。所以Ansible配置的时候只需要保证从Ansible管理节点通过SSH能够连接到被管理的远程的远程节点即可。。但是SSH必须配置为公钥认证登录方式,而非密码认证,下一章会讲到具体的配置方法。

连接方式SSH

在管理员节点安装Ansible,编写脚本。在管理节点执行命令或者脚本时,通过SSH连接被管理的主机。 被管理的远程节点不需要进行特殊安装软件。

掌握Ansible 你需要这样一本指南

支持多种类型的主机

Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机。管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以断电等异常一般不会影响ansbile。

掌握Ansible 你需要这样一本指南

为什么要有Ansbile Tower

Ansilbe Tower一款针对企业用户的收费软件。

在上一节的Ansible架构中和下一章Ansbile的安装中会讲到,每一台被ansible远程管理的主机,都需要配置基于key的ssh连接。个人用户管理几台虚拟机和远程主机不会有什么问题,但是对于企业级用户,则满足不了业务和安全上的需求。

·首先,每增加一台主机,都需要手工配置一下ssh连接,企业级的pc主机成百上千,每个管理员都需要在自己的电脑上配置所有的ssh连接,无疑工作量巨大。

·还有,在安全方面如果管理员能够拿到ssh key,或者拷贝给别人,对于生产环境来说无疑是最大的安全隐患。

Ansible Tower能做什么

Ansile Tower则是针对企业级用户的,中心化ansible管理节点。它向管理员提供 Web 页面接口,来运行ansible脚本playbook。

·管理员在ansible tower上使用和分享主机的ssh key,但是不能查看和拷贝key文件。

·登录ansible tower的所有管理员可以共享playbook脚本,减少重复工作。

·此外ansible还可以收集和展现所有主机的playbook的执行状况,便于统计和分析主机的状态。

说了这么多,看下面这张架构图就清晰了:

掌握Ansible 你需要这样一本指南

安装Ansile

这里以RedHat系Linux为例,其他系统请参考ansible的官网。

管理员的电脑上

·安裝Ansible软件

$ # Redhat/CentOS Linux上,Ansible目前放在的epel源中
$ # Fedora默认源中包含ansible,直接安装包既可
$ sudo yum install epel-release
$ sudo yum install ansible -y

·配置Ansible管理节点和主机的连接

其实就是配置从管理节点到远程主机之间基于key(无密码的方式)的SSH连接:

$ # 生成ssh key
$ ssh-keygen
$ # 拷贝ssh key到远程主机,ssh的时候就不需要输入密码了
$ ssh-copy-id remoteuser@remoteserver
$ # ssh的时候不会提示是否保存key
$ ssh-keyscan remote_servers >> ~/.ssh/known_hosts

验证SSH配置: 在管理节点执行下面的ssh命令,既不需要输入密码,也不会提醒你存储key,那就成功啦。

$ ssh remoteuser@remoteserver

被管理的远程主机

不需要安装特殊的包,只需要python>2.4,RedHat Linux一般安装方式都是默认安装的。

以上内容节选自《Ansible快速入门:技术原理与实战》。这是一本Ansible入门书籍,侧重于实战,浅入深地介绍了Ansible以及周边产品Ansible Galaxy和Ansible Tower的用法。本书共计6章,前4章由浅及深、层层递进地介绍了Ansible的使用方法。第5章着重介绍了Ansible的代码分享机制role以及其分享平台Ansible Galaxy。第6章概括性地介绍了企业级软件Ansible Tower。全书的叙述风格通俗易懂,没有过多地引入复杂的概念,侧重于讲解原理,立足于实战,引领Ansible新手轻松入门。

来源:业界供稿

0赞

好文章,需要你的鼓励

2017

07/19

09:45

分享

点赞

邮件订阅
白皮书