标签:程序 针对 head 客户 pup 开发 term version png
自动化运维系列之Ansible的简介与安装由于互联网的快速发展导致产品更新换代的速度逐渐加快,这就导致运维人员的日常工作会大大增加,如果还是按照传统方式进行维护工作会使工作效率低下。此时,就需要部署自动化运维了,自动化运维会尽可能安全、高效的完成运维人员的日常工作。
自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的Agent程序来完成管理功能,如:Puppet、Func、Zabbix等;另一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如:Ansible、Fabric等。
Ansible是基于Python开发的,集合了众多优秀运维工具的优点,实现了批量运行命令、部署程序、配置系统等功能。默认通过ssh协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,从而使得自动化环境部署变得更加简单。可同时支持多平台主机并行管理,使得管理主机更加便捷。
以上就是Ansible基本构架组成,主要分为六个部分:
Ansible core 核心引擎
Host inventory 主机清单:用来定义Ansible所管理的主机,默认是在Ansible的hosts配置文件中定义被管理主机,同时也支持自定义动态主机清单和指定其他配置文件的位置。
Connection plugins 连接插件:负责和被管理主机实现通信。除支持使用SSH连接被管理主机外,Ansible还支持其他的连接方式,所以需要有连接插件将各个主机用连接插件连接到Ansible。
Playbooks(yam1,jinja2) 剧本 : 用来集中定义Ansible任务的配置文件,即将多个任务定义在一个剧本中由Ansible自动执行,可以由控制主机针对多台被管理主机同时运行多个任务。
Core modules 核心模块:是Ansible自带的模块,使用这些模块将资源分发到被管理主机,使其执行特定任务或匹配特定的状态。
Custom modules 自定义模块:用于完成模块功能的补充,可借助相关插件完成记录日志、发送邮件等功能。
角色 | 主机名 | IP地址 | 组名 |
---|---|---|---|
控制主机 | CentOS7-1 | 172.16.10.138 | |
被管理主机 | CentOS7-2 | 172.16.10.147 | webserver |
被管理主机 | CentOS7-3 | 172.16.10.133 | mysql |
yum -y install epel-release
yum -y install ansible tree
ansible --version
tree /etc/ansible
vim /etc/ansible/hosts
[webserver]
172.16.10.147 #将第一台被管理主机添加至webserver组
[mysql]
172.16.10.133 #将第二台被管理主机添加至mysql组
ssh-keygen -t rsa
ssh-copy-id root@172.16.10.147
ssh-copy-id root@172.16.10.133
ssh-agent bask
ssh-add
自动化运维系列之Ansible的简介与安装【持续更新···】
标签:程序 针对 head 客户 pup 开发 term version png
原文地址:http://blog.51cto.com/13659301/2158115