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 循环条件判断触发器处理失败等任务控制使用总结

Ansible 学习总结—— Ansible 循环条件判断触发器处理失败等任务控制使用总结

ansible 简单入门与使用

ansible和saltstack简单使用

ansible总结

Ansible 学习总结—— Ansible 状态管理相关知识总结