ansible的简单使用总结
Posted 遙遙背影暖暖流星
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible的简单使用总结相关的知识,希望对你有一定的参考价值。
参考文献:https://blog.csdn.net/xinshuzhan/article/details/115915698
1、安装ansible
方法1,直接yum安装
yum install http://mirrors.163.com/centos/7.4.1708/extras/x86_64/Packages/epel-release-7-9.noarch.rpm
方法2,内网环境通过安装包安装
1.1安装依赖环境
yum install PyYAML
yum install python-jinja2
yum install python-paramiko
yum install python2-cryptography
yum install sshpass
1.2上传rpm包
1.3 安装
rpm -i ansible-2.9.21-1el7.ans.noarch.rpm
#进行安装,http://rpmfind.net/linux/RPM/index.html可以找到一些常见的rpm包
2、安装ansible的主机上设置ssh免密和在hosts文件中添加ip组
2.1 生成密钥和发布
安装ansible主机上执行
ssh-keygen
ssh-copy-id root@192.168.100.11 #一条条加所有主机ip,将key发送到其他主机上
2.2 hosts文件中添加ip组
vim /etc/ansible/hosts
#这里起名allip
[allip]
192.168.100.11
192.168.100.12
192.168.100.13
2.3、测试ansible集群内通讯是否正常
ansible -i /etc/ansible/hosts allip -m ping
3、执行批量命令
3.1 通过playbook文件批量执行
vim /install_file.yml
- hosts: allip
tasks:
-name: copy install scipt
copy: src=/tmp/isntall_agent.sh dest=/tmp
-name: copy agent package
copy: src=/tmp/agent.tgz dest=/tmp
-name: copy agent package
command:bash /tmp/isntall_agent.sh
register: output
- debug: var="output.stdout_line + [output.stderr]"
ansible-playbook /install_file.yml
3.2 其他模块的简单使用
(1)ansible -i <hosts路径> <ip组> -m ping
ansible -i /etc/ansible/hosts allip -m ping
#测试ansible集群内主机通讯是否正常
ansible 192.168.100.1 -m ping
#单独测这一台
(2)shell 模块
默认执行/bin/bash
ansible -i <hosts路径> <ip组> -m shell -a “shell 命令”
ansible -i /etc/ansible/hosts allip -m shell -a “/root/isntall_agent.sh”
#每台机器执行了这个脚本(前提,各个机器已经有这个脚本)
(3)copy模块
ansible -i <hosts路径> <ip组> -m copy -a “src=源路径 dest=目标路径”
ansible -i /etc/ansible/hosts allip -m copy -a “srd=/root/isntall_agent.sh dest=/root”
以上是关于ansible的简单使用总结的主要内容,如果未能解决你的问题,请参考以下文章
Ansible 学习总结—— Ansible 循环条件判断触发器处理失败等任务控制使用总结