Ansible个人学习笔记

Ansible的安装

1.yum安装
2.源码安装
3.pip安装
4.apt安装
5.............

Ansible ad-hoc用法

ansible company -m ping --ask-pass
ansible company -m ping -k

登录 被操控主机需要密码
····
ansible company -k -a'ls /root'

使用密码登录到company组的机器执行 ls root(默认以当前用户登录)
····
ansible company -u ding -k -b -K -a'ls /root'
使用ding用户sudo到root下执行ls root(sudo需要密码,去掉-K不需要sudo密码,前提是被控机已经做好工作)
·······
被控机可用或者all表示全部,默认模块为command。
······
每次执行ansible都要密码,麻烦。所以做免密登录操作
ssh-keygen
ssh-copy-id
·····
被控机部分还可以用正则匹配,个人认为shell模块比默认的command模块更好
·····
ansible
143 -m script -a'./echo.sh'
可以让被控机执行本地的脚本,本不是复制过去执行然后删除,而是直接执行
·····
ansible 192.168.1* -m copy -a'src=./selinux dest=/etc/sysconfig/selinux backup=yes'
对所有192.168.1开头的机器使用copy模块,参数为本地文件为src,覆盖dest的文件,并做备份
······
ansible company:company1 -a 'creates=/ethahah ls /etc/fstab'
creates没有去做
removes没有不去做
······
被控机组与组之前可用逻辑关系表示
:表示与
······
ansible company:company1 -m fetch -a'src=/var/log/messages dest=.'
fetch 模块与copy相反,从被控机上抓文件到本地目录
······

file模块操作文件和目录
······
hostname模块修改主机名
······
cron模块创建计划任务
······
yum模块安装软件包(被控机要配置好yum源)
······
service模块控制服务相关
······
ansible-galaxy 这个命令可以下载别人的roles
······
ansible-playbook 剧本,使用yaml格式
······
ansible-vault encrypt hi.yml 给文件加密
ansible-vault decrypt hi.yml 给文件解密
ansible-vault view hi.yml 输入密码查看
ansible-vault edit hi.yml 输入密码修改文件
ansible-vault rekey hi.yml 修改旧密码
······
[root@ansible ansible-test]# ansible-console(ansible控制台)
Welcome to the ansible console.
Type help or ? to list commands.

root@all (6)[f:5]$ cd home
root@home (3)[f:5]$ ls

192.168.3.61 | CHANGED | rc=0 >>
anaconda-ks.cfg
hostname.sh

192.168.3.69 | CHANGED | rc=0 >>
anaconda-ks.cfg

192.168.3.70 | CHANGED | rc=0 >>
anaconda-ks.cfg

root@home (3)[f:5]$
root@home (3)[f:5]$ forks 10(并行执行数10)
root@home (3)[f:10]$
······

猜你喜欢

转载自blog.51cto.com/13293172/2409803