天天看点

ansible操作

一·、批量推送公钥

1.使用 ssh-keygen -t rsa生成密钥对

ssh-keygen -t rsa

2.推送单个公钥到远程机器

格式: ssh-copy-id -i ~/.ssh/id_rsa.pub username@[ip,hostname]

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

3.添加ansible hosts

编辑/etc/ansible/hosts,没有则创建些文件。

格式:【主机名】 【主机地址】 【主机密码】 默认是root用户来进行的

[all]

1 ansible_ssh_user="root" ansible_ssh_host=192.168.198.131 ansible_ssh_pass="123456"

2 ansible_ssh_user="root" ansible_ssh_host=192.168.198.134 ansible_ssh_pass="123456"

3 ansible_ssh_user="root" ansible_ssh_host=192.168.198.141 ansible_ssh_pass="123456"

新版的ansible(2.4) hosts有更新, 用以下方式:

192.168.198.131 ansible_user=root ansible_ssh_pass="123456"

192.168.198.141 ansible_user=root ansible_ssh_pass="123456"

192.168.198.134 ansible_user=root ansible_ssh_pass="123456"

4.批量推送公钥到远程机器

[root@mha ansible]# ls

ansible.cfg hosts push.ssh.ymal roles

[root@mha ansible]# cat push.ssh.ymal

hosts: all

user: root

tasks:

name: ssh-copy

authorized_key: user=root key="{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"

tags:

sshkey

ansible操作

5.执行推送命令

ansible-playbook push.ssh.ymal 

[root@mha ansible]# ansible-playbook push.ssh.ymal

PLAY [all] **

TASK [Gathering Facts] **

ok: [192.168.198.134]

ok: [192.168.198.141]

ok: [192.168.198.131]

TASK [ssh-copy] *****

changed: [192.168.198.131]

PLAY RECAP **

192.168.198.131 : ok=2 changed=1 unreachable=0 failed=0 

192.168.198.134 : ok=2 changed=0 unreachable=0 failed=0 

192.168.198.141 : ok=2 changed=0 unreachable=0 failed=0

ansible操作

二·、检查主机组或者是单一个主机

[root@mha ansible-tower-setup-3.1.0]# ansible all -m shell -a "mysql -uroot -p123456 -e 'use test;show tables'"

192.168.198.134 | SUCCESS | rc=0 >>

Tables_in_test

t3

t4

t44

t5

tt1

192.168.198.131 | FAILED | rc=127 >>

/bin/sh: mysql: command not found

192.168.198.141 | SUCCESS | rc=0 >>

ansible操作

hosts: 192.168.198.131

gather_facts: no

name: mkdir code.

shell: mkdir /root/600

name: git pull the code.

git: [email protected]:wsw26/600.git dest=/root/600/

ansible操作

git: 

repo: [email protected]:wsw26/600.git 

dest: /root/600/ 

version: v1.9.306

ansible操作

客户机能顺利把代码拉下来并切换分支了

ansible操作

四、ansible-tower

ansible操作
ansible操作

     本文转自wsw26 51CTO博客,原文链接:http://blog.51cto.com/wsw26/2062374,如需转载请自行联系原作者