ansible的架构:
ansible管理主机有两种方式,一种方式是通过执行ansible的命令的方式,也就是通过和用户进行命令行式交互的方式;
第二种方式就是通过ansible playbook的方式进行
ansible的自动化引擎(ansible's automation engin)分为以下四个部分:
- invertory主机列表清单,该部分包含了被管理主机的IP,管理用户,密码等主机信息。
- API这一部分是提供给DevOps所使用的,通过该API接口,可以实现基于ansible的CMDB的开发,以实现更高级的运维自动化管理的功能。
- modules ansible的基础就在于它有许多的功能性模块,通过这些模块,ansible可以在被管理主机上实现多种功能,比如执行命令,拷贝文件等。
- plugins 翻译为插件,在于提升ansible自身的功能。如连接主机的时候,需要使用到connection插件。还比如连接各种云平台,都离不开plugins的支持。
ansible在实际的生产环境中和其它服务器的关系图:
ansible的简单安装:
安装要求:
系统需要装有python 2.7/3.X版本
ansible目前只支持linux,不支持windows
被管理端要求:
Openssh
python 2.6/2.7/3.x
它的安装很简单,在centos环境下,直接执行下面的命令就可以安装:
yum install -y ansible
ansible配置文件常规的配置项有哪些:
#invertory配置目录
inventory = /etc/ansible/hosts
#ansible子进程数,在执行任务时的一个进程数,如果被管理的主机有很多,则需要调高该参数,以增加执行任务的速度
forks = 5
#提权用户
sudo_user = root
#目标主机默认端口
remote_port = 22
#主机key检查,当主机初次连接被管理机的时候,默认会检查ssh_key,这里最好设定为false,避免初次检查
host_key_checking = False
#超时时间设定
timeout=10
#日志记录
log_path=/var/log/ansible.cfg
#私钥路径
private_key_file = /root/.ssh/id_rsa