Ansible之playbook

piaotiejun 2019-10-21

ansible系列命令

  ansible-galaxy:可以下载角色

    连接https://galaxy.ansible.coml下载相应的roles|
    列出所有已安装的galaxy
    ansible-galaxy list
    安装galaxy
    ansible-galaxy install geerlingguy.redis
    删除galaxy
    ansible-galaxy remove geerlingguy.redis

  ansible-pull

    推送命令至远程,效率无限提升,对运维要求较高

  ansible-playbook

    用法:ansible-playbook 参数  xxx.yml文件

cat hello.yml  ---#表示开始
  #hello world yml file#说明
  - hosts: websrvs#指定被控主机
    remote_ user: root#指定执行的角色
    tasks:需要执行的命令写在这个下面
    - name: hello world#对执行操作的说明
         command: /usr/bin/wall hello world#指定所用模块,后面是需要执行的命令

  ansible-vault:管理加密解密yml文件

ansible-vault [create |decrypt | edit |encrypt| rekey |view]
ansible-vault encrypt hello.yml#加密
ansible-vault decrypt hello.yml#解密
ansible-vault view hello.yml查看
ansible-vault edit hello.yml#编辑加密文件
ansible-vault rekey hello.yml#修改口令
ansible-vault create new.yml#创建新文件

  ansible-console:2.0+新增,可以交互执行命令,支持tab

  (2)[f:10]$

  执行用户@当前操作的主机组(当前组的主机数量)[f:并发数]$

    设置并发数:forks n

    切换组:cd 主机组

    列出当前组主机列表:list

    列出所有的内置命令:?或help

   示例:

(2)[f:5]$ list
 (2)[f:5]$ cd appsrvs
 (2)[f:5]$ list
 (2)[f:5]$ yum name=httpd state=present
 (2)[f:5]$ service name=httpd state=started

playbook

  playbook是由一个或多个“play”组成的列表

  play的重要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。从根本上来说,所谓task无非是调用ansible的一个module。将多个play组织在一个playbook中,即可以让它们连同起来按事先编排的机制同唱一台大戏

  playbook采用yaml语言编写

Ansible之playbook

 YAML介绍

  YAML语言是一个可读性高的用来表达资料序列的格式,YANL参考了其他多种语言,包括:XML、C语言、Python语言、perl语言以及电子邮件格式RFC2822等。Clark Evans在2001年首次发表了这种语言,另外Igy

  

相关推荐