ansible-galaxy 下载roles角色模板
课时5 实现Ansible企业级用法playbook
从https://galaxy.ansible.com下载roles的模板(EXPLORE)
确保服务器能与互联网通信,命令输入:ansible-galaxy install geerlingguy.nginx
该角色(geerlingguy.nginx)直接复制成另一个角色
删除角色:直接方法是删除目录;ansible-galaxy remove geerlingguy.nginx

······················································
ansible-pull 推送命令,用的不多
课时5 实现Ansible企业级用法playbook
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

保存退出

执行:ansible-playbook hello.yml
·····························································
ansible-vault 加密

课时5 实现Ansible企业级用法playbook
加密后无法正常查看、执行
··············································
ansible-console 交互式工具
课时5 实现Ansible企业级用法playbook
输入ansible-console,则进入交互式命令模式

  1. [email protected] (2)[f:5]$ root是指远程主机使用的用户,all是指远程主机清单的所有,2指共主机数,5代表并发命令推送的主机数
  2. cd appsrvs 切换某个主机清单或者主机IP
  3. forks 10 修改为10个并发主机数
  4. command hostname 可以直接使用ansible命令
    用于临时测试等
    ···························································
    课时5 实现Ansible企业级用法playbook
    课时5 实现Ansible企业级用法playbook
    课时5 实现Ansible企业级用法playbook
    课时5 实现Ansible企业级用法playbook
    一般一个文件一个档案(···开头)
    缩进只能tab或者空格,只能二选一
    一个完整的yaml文件最少元素包括:name:task
    一个name只能一个task
    多个name多个task

···················································
课时5 实现Ansible企业级用法playbook
- 开头代表的是一个列表

课时5 实现Ansible企业级用法playbook
将多个键值对一行写成需要{},并有,隔开

课时5 实现Ansible企业级用法playbook
课时5 实现Ansible企业级用法playbook
可以到www.ansible.com.cn学习 中文版

课时5 实现Ansible企业级用法playbook
vim file.yml

  • hosts: websrvs
    remote_user: root

    tasks: 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

保存退出

ansible-playbook -C file.yml 测试运行
查看账号是否存在 getent passwd test2
一个name中一个copy
····································································
课时5 实现Ansible企业级用法playbook
课时5 实现Ansible企业级用法playbook
课时5 实现Ansible企业级用法playbook
当task任务中一个出现错误,后面命令就不再执行,遇到这种时,希望忽略错误;
在命令中添加|| /bin/true
···················································
课时5 实现Ansible企业级用法playbook
ansible-playbook --list-hosts 列出运行任务的主机
–limit IP 只让这个IP执行命令
–list-tasks 查看任务列表
····································································
课时5 实现Ansible企业级用法playbook
在/root/ansible创建files目录,把文件都放到files下
src时就可以用相对路径:file/…html …sh

相关文章:

  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2021-07-22
  • 2022-12-23
  • 2021-09-24
  • 2021-06-27
  • 2022-12-23
猜你喜欢
  • 2021-07-28
  • 2021-06-07
  • 2021-05-23
  • 2021-12-16
  • 2021-06-10
  • 2021-12-21
  • 2021-11-03
相关资源
相似解决方案