Ansible-基础知识与架构【理论知识】
1、Ansible
1.1、什么Ansible
Ansible 是一个 IT 自动化的“配置管理”工具,自动化主要体现在 Ansible 集成了丰富模块,以及强大的功能组件,可以通过一个命令行完成一系列的操作。进而能减少我们重复性的工作,以提高工作的效率。
1.2、假设我们要在10台linx服务器上安装一个nginx服务,手动如何作的?
第一步:ssh登陆NUM(1..n)服务器 第二步:输入对应服务器密码 第三步:安装yum install nginx,循环操作n=10次 第四步:启动systemctl start nginx 第五步:退出登录
1.3、Ansible主要功能
批量执行远程命令,可以对N多台主机同时进行命令的执行。
批量配置软件服务,可以进行自动化的方式配置和管理服务。
实现软件开发功能, jumpserver 底层使用 ansible 来实现的自动化管理。
编排高级的IT任务, Ansible 的 Playbook 是一门编程语言,可以用来描绘一套 IT 架构。
1.4、Ansible的特点
容易学习:无代理,不像 salt 既要学客户端与服务端,还需要学习客户端与服务端中间通讯协议;
操作灵活: Ansible 有较多的模块,提供了丰富的功能、 playbook 则提供类似于编程语言的复杂功能;
简单易用:体现在 Ansible 一个命令可以完成很多事情;
安全可靠:因为 Ansible 使用了 SSH 协议进行通讯,既稳定也安全;
移植性高:可以将写好的 playbook 拷贝至任意机器进行执行;幂等性:一个任务执行1遍和执行n遍效果一样,不会因为重复执行带来意外情况;
2、Ansible基础架构
Ansible 架构中的控制节点、被控制节点、 inventroy、ad-hoc、playbook、Connection Protocol