ansible的使用技巧

#查看ansible的帮助
$ ansible -h
 
#ansible 指定不通的模块执行
$ ansible -i /etc/ansible/hosts  docker -u root -m command -a "ls /home" -k
 
 -i   指定清单的路径
 -u  指定用户
 -m 指定执行的模块
 -k  提示输入密码
  
#连续的地址hosts的定义方法
 $ 192.168.0.[0:100]
 
# 不通的组定义,分组定义hosts
[mfs:children]
mfs_master
mfs_logger
mfs_node
mfs_client
 
[mfs_master]
192.168.0.101
 
[mfs_logger]
192.168.0.102
 
#查看ansible中自带的模块
$ ansible-doc -l
 
#查看ansible模块的具体用法
$ ansible-doc -s user
 
#使用ansible查看详细硬件信息
$ ansible test -m setup
 
#使用file模块创建软连接
$ ansible test -m file  -a "src=/etc/fstab dest=/tmp/fstab   state=link"
注:使用-m参数是指定模块名,使用-a参数是指定参数
 
#使用ansible删除文件
$ ansible test -m file -a 'path=/tmp/fstab  state=absent'
 
# 使用ansible的shell模块
$ ansible test -m shell -a "ps aux | grep sshd"
 
#使用ansible的service 模块管理服务
$ ansible test -m service -a "name=sshd state=started"
 
 
#在一个playbook中定义varsfile
$在playbooks目录下创建一个文件叫variables 
cat variables
 
port: 80
http: apache
 
test.yml
---
- hosts: all
  user: root
  vars_files:
     - variables
  tasks:
     - name: print IP
        template: src=files/test1.txt dest=/tmp/test1.txt
 
        set_fact:memcached_size="{{ansible_mentotoal_mb/4}}"
 
 
   #通知重启服务
      notify:
         -restart memcached
 
      handlers:
         - name: restart memcached
           service: name=memcached state=restarted enabled=yes
 
     vars_files:
        -  vars
        -  vars1
 
      tasks:
         - include:tasks/foo.yml
 
 
     --- 
     - hosts: test
        vars_files
            - vars.yml
            - vars1.yml
 
        tasks:
           - include: task.yml
        handlers:
           - include: handler.yml
 
 
groups_vars   moosefs.hosts  moosefs.yml   roles  tools
 
 
posted @ 2016-09-20 21:15  子非木  阅读(494)  评论(0编辑  收藏  举报