打开git bash 连接ansible服务器,然后进入deploy用户
#ssh root@192.168.96.188
进入python3.6虚拟环境
#su - deploy
#source .py3-a2.5-env/bin/activate
加载ansible 2.5版本
#source .py3-a2.5-env/ansible/hacking/env-setup -q
验证ansible加载效果
#ansible-playbook --version
1、File模块
登录到目标主机进行预配置工作
#ssh root@test.example.com
创建两个系统用户
# useradd foo
# useradd deploy
创建一个nginx配置文件目录
# mkdir /etc/nginx
安装一个nginx
(此处省略,见网上安装方法)
登出,回到ansible的主机,进入到test_playbooks目录。编辑主任务文件,添加测试任务。保存退出
# vi roles/testbox/tasks/main.yml
- name: create a file # 创建文件file
file: 'path=/root/foo.txt state=touch mode=0755 owner=foo group=foo'
#path为文件路径 #state为所用命令 #mode 为文件权限 #owner 为设置的系统用户名称 #group 为宿主
执行测试任务
# ansible-playbook -i inventory/testenv ./deploy.yml
查看文件是否创建成功
# ssh root@test.example.com ls -l /root/foo.txt
2、Copy模块
先创建一个files目录,在目录下创建一个脚本文件,添加一下内容,保存退出
# mkdir roles/testbox/files
# vi roles/testbox/files/foo.sh
echo "This is a test script"
编辑主任务配置文件,保存退出。
# vi roles/testbox/tasks/main.yml
- name: copy a file
copy: 'remote_src=no src=roles/testbox/files/foo.sh dest=/root/foo.sh mode=0644 force=yes'
#remote_src 定义当前拷贝任务是将ansible本地server文件传送到目标主机中
#src 本地文件 传送 #dest 目标主机文件
#mode 设置文件权限 #force 定义拷贝任务强制执行
编辑好文件之后,执行任务
# ansible-playbook -i inventory/testenv ./deploy.yml