day39.ansible参数

1

ssh秘钥认证+脚本批量管理,特点:简单、实用,

但是看起来比较LOW,需要人工写脚本,类似实时复制的inotify工具。

2013以前这种方式很普遍。

MySQL高可用 MHA集群,要求所有机器互相秘钥认证。

大数据集群也需要。 服务器越多价值越大

2.批量管理工具历史

SSH+脚本 CFEngine、Puppet、saltstack              、ansible

08年以前 07-08年  10-13年  14-17(python开发)      16-(python开发)

        sina网

3.为什么用ansible?

简单、方便、容易学习、功能同样强大。

ansible有配置文件,可以多线程直接实现。不需要写脚本,类似实时复制的sersync。

4.什么是ansible?

Ansible是一个用来远程管理服务器的工具软件。

Ansible是一个用来批量部署远程主机上服务的工具。这里“远程主机(Remote Host)”是指任

何可以通过SSH登录的主机,所以它既可以是远程虚拟机或物理机,也可以是本地主机。

Ansible通过SSH协议实现管理节点与远程节点之间的通信。理论上来说,只要能通过SSH登录到

远程主机来完成的操作,都可以通过Ansible实现批量自动化操作。

涉及管理操作:复制文件、安装服务、服务启动停止管理、配置管理等等。

5.为什么要用批量管理工具运维?

提高效率,百度几万台服务器,阿里几十万台服务器。

如何省钱?

SSD+SATA 热点存储 15 15 7


6.Ansible特点

Ansible基于Python语言实现,由Paramiko和PyYAML两个关键模块构建。

Shell、Python是Linux运维学员必会的两门语言。

1)安装部署过程特别简单,学习曲线很平坦。

2)不需要单独安装客户端,只是利用现有的SSHD服务(协议)即可。

3)不需要服务端(no servers)。

4)ansible playbook,采用yaml配置,提前编排自动化任务。

5)ansible功能模块较多,对于自动化的场景支持丰富。

官方:http://docs.ansible.com

7.Ansible架构介绍(见图说明)

1、连接插件connectior plugins用于连接主机 用来连接被管理端

2、核心模块 core modules 连接主机实现操作, 它依赖于具体的模块来做具体的事情

3、自定义模块 custom modules,根据自己的需求编写具体的模块

4、插件 plugins,完成模块功能的补充

5、剧本 playbooks,ansible的配置文件,将多个任务定义在剧本中,由ansible自动执行

6、主机清单 inventor,定义ansible需要操作主机的范围

最重要的一点是 ansible是模块化的 它所有的操作都依赖于模块

你可能感兴趣的:(day39.ansible参数)