ansible-galaxy 下载roles角色模板
从https://galaxy.ansible.com下载roles的模板(EXPLORE)
确保服务器能与互联网通信,命令输入:ansible-galaxy install geerlingguy.nginx
该角色(geerlingguy.nginx)直接复制成另一个角色
删除角色:直接方法是删除目录;ansible-galaxy remove geerlingguy.nginx
······················································
ansible-pull 推送命令,用的不多
pull推送数据 push拉数据
·····································
ansible-playbook(剧本)
ansible-playbook --help
playbook(剧本)以yml为后缀
用法:ansible-playbook 参数 1.yml 2.yml
yml文件案例:
vim hello.yml
格式:
···
-
hosts: websrvs
remote_user: root(操控远程主机使用的用户)tasks:
- name: hello
commond: hostname
- name: hello
保存退出
执行:ansible-playbook hello.yml
·····························································
ansible-vault 加密
加密后无法正常查看、执行
··············································
ansible-console 交互式工具
输入ansible-console,则进入交互式命令模式
- root@all (2)[f:5]$ root是指远程主机使用的用户,all是指远程主机清单的所有,2指共主机数,5代表并发命令推送的主机数
- cd appsrvs 切换某个主机清单或者主机IP
- forks 10 修改为10个并发主机数
- command hostname 可以直接使用ansible命令
用于临时测试等
···························································
一般一个文件一个档案(···开头)
缩进只能tab或者空格,只能二选一
一个完整的yaml文件最少元素包括:name:task
一个name只能一个task
多个name多个task
···················································
- 开头代表的是一个列表
将多个键值对一行写成需要{},并有,隔开
可以到www.ansible.com.cn学习 中文版
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1d187b70c821f568fe22bcc958068d25.png)
vim file.yml
-
hosts: websrvs
remote_user: roottasks: tasks下的命令一般缩进两个空格,后面都要如此
- name: create new file 命名
file: name=/data/newfile state=touch 模块 - name: create new user
user: name=test2 system=yse home=/home/test2 shell=/sbin/nologin - name: install packages
yum: name=httpd - name= copy html
copy: src=/var/www/html dest=/var/www/html - name= service start
service: name=httpd state=started enables=yes
- name: create new file 命名
保存退出
ansible-playbook -C file.yml 测试运行
查看账号是否存在 getent passwd test2
一个name中一个copy
····································································
当task任务中一个出现错误,后面命令就不再执行,遇到这种时,希望忽略错误;
在命令中添加|| /bin/true
···················································
ansible-playbook --list-hosts 列出运行任务的主机
–limit IP 只让这个IP执行命令
–list-tasks 查看任务列表
····································································
在/root/ansible创建files目录,把文件都放到files下
src时就可以用相对路径:file/…html …sh