# -C 验证
ansible-playbook -C file.yml
# -t 标签 启用某个标签
ansible-playbook -t tagname file.yml
# 多标签执行
ansible-playbook -t tagname1,tagname2 file.yml
ansible -a 'getent passwd test2'
# ping
---
- hosts: appservers
user: root
tasks:
- name: test connection
ping:
remote_user: root
#打印日志
---
- hosts: appservers
tasks:
- name: "demo shell"
shell: echo `date`, helloworld I love ansible >> /tmp/echo.log
# 复制文件
---
- hosts: appservers
tasks:
- name: "demo shell"
shell: echo `date`, helloworld I love ansible >> /tmp/echo.log
# tasks:
- name: copy ansible inventory file to client
copy:
src: /etc/ansible/hosts
dest: /tmp/hosts
owner: root
group: root
mode: 0644
---
- hosts: appservers
tasks:
- name: "demo shell"
shell: echo start `date`
- name: "create direction"
file: path=/tmp/mytemp state=directory mode=0755
- file:
path: /tmp/demo1
state: directory
mode: 0755
# 变量
---
- hosts: appservers
vars:
redisfilepath: /software/redis-4.0.11.tar.gz
tasks:
- name: "demo shell"
shell: echo start `date` {{redisfilepath}} >> /tmp/ehco.log
# 注意 比如src引用变量要加 单引号 '{{ redisfilepath }}'
---
- hosts: appservers
vars:
redisfilepath: /software/redis-4.0.11.tar.gz
tasks:
- name: "demo shell"
shell: echo start `date` {{ redisfilepath }} >> /tmp/ehco.log
- name: copy redis to appservers
copy:
src: '{{ redisfilepath }}'
dest: /software
owner: root
group: root
mode: 0644
---
- hosts: appservers
remote_user: root
tasks:
- name: create new file
file: name=/tmp/newfile state=touch
- name: create new user
user: name=test2 system=yes shell=/sbin/nologin
- name: install package
yum: name=httpd
- name: copy html
copy: src=/data/index.html dest=/var/www/html/
- name: start service
service: name=httpd state=started enabled=yes
安装docker
---
- hosts: testservers
tasks:
- name: install yum-utils
yum: name=yum-utils state=present
- name: install device-mapper-persistent-data
yum: name=device-mapper-persistent-data state=present
- name: install lvm2
yum: name=lvm2 state=present
- name: install wget
yum: name=wget state=present
- name: download docker-ce.repo
get_url:
url: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
dest: /etc/yum.repos.d/docker-ce.repo
# - script: /ansible/shell/selinuxinstall.sh
- name: install docker-ce
yum: name=docker-ce state=present update_cache=yes
- name: show docker version
command: docker --version
- service:
name: docker
state: started
# selinuxinstall.sh
# wget http://mirrors.atosworldline.com/public/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm
# rpm -ivh container-selinux-2.68-1.el7.noarch.rpm --nodeps --force