1.Ansible视频课程学习笔记
1.0.常用自动化运维工具
CFengine
Chef
Puppet:基于Ruby,采用C/S架构,基于SSL认证
SaltStack:基于Python,采用C/S架构,配置语言YAML
Ansible:基于Python,配置语言YAML,无需客户端
1.1.Ansible基本组成
1)核心:ansible
2)核心模块(Core Modules):这些都是ansible自带的模块
3)扩展模块(Custom Modules):如果核心模块不足以完成某种功能,可以添加扩展模块
4)插件(Plugins):完成模块功能的补充
5)剧本(Playbooks):ansible的任务配置文件,将多个任务定义在剧本中,由ansible自动执行
6)连接插件(Connectior Plugins):ansible基于连接插件连接到各个主机上,虽然ansible是使用ssh连接,但它也支持其他连接方法,所以需要有连接插件(0mq:cs模式)
7)主机群(Host Inventory):定义ansible管理的主机
1.2.ansible安装
1)配置好epel源
[root@cxg130 ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm
[root@cxg130 ~]# rpm -vih epel-release-7-10.noarch.rpm
2)yum install -y ansible
/etc/ansible
/etc/ansible/ansible.cfg
/etc/ansible/hosts
3)命令
[root@cxg130 ~]# vim /etc/ansible/hosts
[test] #定义组
172.16.5.201 #主机IP地址
[root@cxg130 ~]# ansible -i /etc/ansible/hosts test -u root -m command -a 'ls /home' -k #-k提示输入密码,做了SSH认证则无需
[root@cxg130 ~]# ansible test -a 'ls /home' -k #与上行同样结果,省略都是默认选项
[root@cxg130 ~]# ansible all -m ping #all所有主机,-m执行后侧ping命令
-------------------------------------------------------------------------------------------注释分割线------------------------------------------------------------------------------------
Inventory:库存清单
epel:Extra(额外的) Packages for Enterprise Linux,由Fedora社区打造,为RHEL及衍生发行版提供高质量软件包的项目,装上EPEL相当于添加了一个第三方源