Ansible playbooks常用模块案例操作

打开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

Ansible playbooks常用模块案例操作

- 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

Ansible playbooks常用模块案例操作

查看文件是否创建成功

# 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

Ansible playbooks常用模块案例操作

- 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

Ansible playbooks常用模块案例操作

 

 

上一篇:笔记-security


下一篇:Django rest-framework框架-组件之分页