Ansible是什么
 
Ansible 简单的说是一个配置管理系统(configuration management system)。你只需要可以使用 ssh 访问你的服务器或设备就行。它也不同于其他工具,因为它使用推送的方式,而不是像 puppet 等 那样使用拉取安装agent的方式。你可以将代码部署到任意数量的服务器上。
 
Ansible能做什么
 
ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作。
 
ASP站长网比如:同时在100台服务器上安装nginx服务,并在安装后启动它们。
 
比如:将某个文件一次性拷贝到100台服务器上。
 
比如:每当有新服务器加入工作环境时,你都要为新服务器部署某个服务,也就是说你需要经常重复的完成相同的工作。 这些场景中我们都可以使用到ansible。
 
Ansible特性
 
v 模块化:调用特定的模块,完成特定任务
v 有Paramiko,PyYAML,Jinja2(模板语言)三个关键模块
v 支持自定义模块
v 基于Python语言实现
v 部署简单,基于python和SSH(默认已安装),agentless
v 安全,基于OpenSSH
v 支持playbook编排任务
v 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况
v 无需代理不依赖PKI(无需ssl)
v 可使用任何编程语言写模块
v YAML格式,编排任务,支持丰富的数据结构
v 较强大的多层解决方案
 
Ansible架构
 
 
 
Ansible工作原理
 
 
 
Ansible主要组成部分功能说明
 
 v PLAYBOOKS:
            任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是JSON格式的YML文件
v INVENTORY:
            Ansible管理主机的清单/etc/anaible/hosts
v MODULES:
            Ansible执行命令的功能模块,多数为内置的核心模块,也可自定义,ansible-doc –l 可查看模块
v PLUGINS:
            模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用
v API:
            供第三方程序调用的应用程序编程接口
v ANSIBLE:
            组合INVENTORY、 API、 MODULES、PLUGINS的绿框,可以理解为是ansible命令工具,其为核心执行工具
 
注意事项
 
Ü 执行ansible的主机一般称为主控端,中控,master或堡垒机
Ü 主控端Python版本需要2.6或以上
Ü 被控端Python版本小于2.4需要安装python-simplejson
Ü 被控端如开启SELinux需要安装libselinux-python
Ü windows不能做为主控端

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。