ansible

---
- hosts: test
  remote_user: root
  vars:
    software:
      - ntp
      - lrzsz
      
  tasks:
  - name: install haproxy
    yum: name=haproxy  state=present
      
  tasks:
  - name: install ntp and lrzsz
    yum: name={{item}}  state=present
    with_items:
     - '{{software}}'
    tags: install-soft

  - name: ntp update
    command: ntpdate -u pool.ntp.org

  - name: install python-selinux
    yum: name=libselinux-python  state=present
    tags: libselinux-python    
    
  - name: copy js2 file
    template: src=/root/amh.js  dest=/root/amh.sh  owner=root group=root mode=0755
    tags: copy-js2

  - name: install AMH4.2
    shell: /root/amh.sh >> /dev/null
    tags: install-amh
#ansible-playbook -i ./hosts  ./s.yml --tags install-soft 
#ansible-playbook -i ./hosts  ./s.yml --tags libselinux-python   可以单独安装某一块

  - name: service haproxy start
    service: name=haproxy state=started
#  - service: name=haproxy state=started  #(同上面的效果一致)
  - name: haproxy stopped
    service: name=haproxy state=stopped

  tasks:
  - name: copy file
  #注意要安装的否则报错yum install -y libselinux-python
    copy: src=/root/test.sh  dest=/root/test
    
  - name: shell script
    shell: tt.sh >> ./t.log
    
  - raw: yum -y install python-simplejson

限制10个fork并发执行

#ansible-playbook user.yml -f  10
============================================================================
ansible安装:
centos6
wget http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install   ansible

ubuntu:
#apt-get  install ansible

#pip install ansible
cat /etc/ansible/hosts
[test]
# 配置密码登陆,需要ansible本机安装sshpass
192.168.213.135 ansible_ssh_user=root ansible_ssh_pass=root
[zabbix]
# 密钥登陆
172.17.0.2:49154 ansible_ssh_user=root
172.17.0.4:49155 ansible_ssh_user=root
[local]
127.0.0.1
....
....
#----------------------------------------------
#ansible host-pattern -m 模块 -a 命令
ansible localhost -m ping  #ping组local
#ansible test -a "local"   #测试local组
#ansible all -a "ntpdate 172.16.0.100" 
#ansible all -m common -a "ntpdate 172.16.0.100" #默认使用common模块,所有更新时间
#ansible all   -m yum -a “name=http state=present" #yum安装软件
#ansible all   -m yum -a “name=http state=started enabled=yes" 启动服务
#ansible local -m apt -a ‘name=gcc state=present’  #apt安装软件
#ansible local -m shell -a ‘uptime’  #执行shell命令
#ansible local -m raw -a ‘uptime | wc -l ’  #支持管道,类似shell
#ansible local -m copy -a “src=/tmp/server dest=/tmp/server” #拷贝文件
#ansible local -m file -a “dest=/tmp/server mode=755 owner=root group=root”  #设置文件属性



你可能感兴趣的:(ansible基础)