Ansible 工作机制和简单命令

Ansible工作机制
Ansible 在管理节点将 Ansible 模块通过 SSH 协议推送到被管理端执行,执行完之后自动删除,可以使用 SVN 等来管理自定义模块及编排. Ansible 工作机制和简单命令 由上面的图可以看到 Ansible 的组成由 5 个部分组成:
Ansible: 核心
Modules: 包括 Ansible 自带的核心模块及自定义模块
Plugins: 完成模块功能的补充,包括连接插件、邮件插件等
Playbooks: 编排,定义 Ansible 多任务配置文件,有 Ansible 自动执行
Inventory: 定义 Ansible 管理主机的清单
Ansible安装
除了源码编译安装还有两种比较简单的安装方式。
3.1 yum安装
rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install python-devel ansible -y
3.2 pip安装
pip install ansible
Ansible的简单使用
Ansible 通过读取默认的主机清单配置/etc/ansible/hosts,可以同时连接到多个远程主机上执行任务。
默认路径可以通过修改 ansible.cfg 的 hostfile 参数指定路径。
cat /etc/ansible/hosts
[web]
192.168.1.100
192.168.1.101
注:为了避免Ansible下发指令时输入目标主机密码,需要提前配置免密钥登陆
#@@ping测试,所有主机
ansible all -m ping
#@@运行shell命令,web组服务器
ansible web -m shell -a "ps aux | grep java"
#@@文件传输(copy)  将ansible本地的/etc/hosts 文件拷贝到所有机器的/tmp/下,命名为hosts文件
ansible web -m copy -a "src=/etc/hosts dest=/tmp/hosts"
#@@包管理(yum)
ansible web -m yum -a "name=nc state=present"
#@@用户管理(user)
ansible web -m user -a "name=zabbix uid=1000 state=present"
#@@服务控制(services)
ansible web -m service -a "name=nfs state=started"

京ICP备11047313号-19 彩虹岛电子书