工作总结∶ansible的简单使用

227 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

方法1,直接yum安装 yum install mirrors.163.com/centos/7.4.… 方法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 #进行安装,rpmfind.net/linux/RPM/i… 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”