今天,我们开始学习运维自动化工具Ansible。
一、Ansible原理
1.1 什么是Ansible
Ansible一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台/框架。基于Python语言实现,核心模块包括:jinja2、PyYAML和paramiko。Ansible允许重复执行而不出错,客户端无agent,服务端无deamon进程。Ansible特点:
-
Ansible支持API接口调用,例如通过CMDB调用或公有云接口调用
-
Ansible是一个框架,基于模块、插件工作
-
基于SSH工作,即被管理端要支持SSH管理
-
通过playbooks来编写强大的配置、状态管理,实现自动化
1.2 Ansible重要组件说明
-
模块:Ansible由多种功能模块组成
-
playbook:Ansible剧本,使用yml语法调用不同功能模块完成特定的功能
-
roles:Ansbiel角色,可以使用ansible-galaxy命令下载第3方的roles角色。
-
ansible-vault:文件加密工具
-
ansilbe-console:基于console与用户进行交互
-
ansible-doc:帮助文档,-l所有模块,-s简要帮助