ansible的使用技巧

时间:2023-03-08 16:41:42
#查看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