美文网首页
day40课堂笔记(playbook 剧本)

day40课堂笔记(playbook 剧本)

作者: 五月_w | 来源:发表于2019-04-27 14:41 被阅读0次

第一章、一键完成以下项目

1.1、各一键完成rsync服务端和客户端。

- hosts: rsync_s
  tasks:
- name: 服务端创建用户
  user:
    name: rsync
- name: 创建目录以及授权
  file:
    name: backup
    owner: rsync
    group: rsync
    state: directory
- name: 服务端设置密码文件
  copy:
    content: rsync_backup:oldboy
    mode: 0600
    dest: /etc/rsync.password
- name: 重启服务并设置开机自启动
  systemd:
    name: rsyncd
    state: started
    enabled: yes
- hosts: rsync_c
  tasks:
- name: 客户端设置密码文件
  copy:
    content: export RSYNC_PASSWORD=oldboy
    dest: /etc/bashrc
- name: 推送测试
  shell: rsync -az /etc/hosts rsync_backup@172.16.1.15::backup
image.png

1.2、各一键完成nfs服务端和客户端。

- hosts: nfs_s
  tasks:
- name: 安装nfs和rpcbind
  yum:
    name: nfs-utils,rpcbind
    state: installed
- name: 启动并设置开机启动
  systemd:
    name: nfs
    name: rpcbind
    enabled: yes
    state: started
- name: 创建虚拟用户并指定UID
  user:
    name: www
    uid: 1111
- name: 配置配置文件
  shell: echo '/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)' >>/etc/exports
- name: 平滑重启
  systemd:
    name: nfs
    state: reloaded
- name: 挂载
  command: mount -t nfs 172.16.1.14:/data /opt
- hosts: nfs_c
  tasks:
- name: 安装nfs和rpcbind
  yum:
    name: nfs-utils,rpcbind
    state: installed
- name: 启动并设置开机启动
  systemd:
    name: nfs
    name: rpcbind
    enabled: yes
    state: started
- name: 挂载
  command: mount -t nfs 172.16.1.14:/data /opt
image.png

1.3、各一键完成sersync服务端和客户端。

- hosts: nfs_s
  tasks:
- name: 启动sersync服务
  shell: /application/sersync/bin/sersync -do /application/sersync/conf/confxml.xml
image.png

第三章、playbook

3.1、什么是playbook?

把所有操作按照ansible编程语法,放在文件里执行就是playbook
image.png

3.2、playbook的优势

1)功能比ad-hoc更全
2) 能很好的控制先后顺序,以及依赖关系
3)语法展现更加的直观
4)ad-hoc无法持久使用,playbook可以持久使用

3.2、ansible剧本编写格式说明

 ansible剧本PYyaml语法规则进行缩写,yaml文件基本编写规则
       规则1:缩进
          yaml使用一个固定的缩进风格表示数据层结构关系,需要每个缩进级别有两个空格组成。
       规则2:冒号
            每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模板可以不需要空格)
       规则3:短横线
            想要表示列表项,使用一个短横杠加一个空格,多个项使用同样的缩进级别作为同一个列表的一部分

3.3、playbook 替代方案

playbook替代方案1:

判断、循环可以用脚本实现
测试:  ansible-playbook -C /etc/ansible/yaml/p1.yml
执行: ansible-playbook  /etc/ansible/yaml/p1.yml
image.png

playbook替代方案2:脚本写通用

image.png

第四章、ansible实践

实践1、echo oldboy linux >/tmp/oldboy.log

cd /etc/ansible/
mkdir yaml
cd /etc/ansible/yaml
vim p1.yml
ansible-playbook -C /etc/ansible/yaml/p1.yml
ansible-playbook   /etc/ansible/yaml/p1.yml
image.png
image.png

实践2、touch /tmp/oldboy1

image.png
image.png

实践3、删除/tmp/oldboy1

image.png
image.png

相关文章

网友评论

      本文标题:day40课堂笔记(playbook 剧本)

      本文链接:https://www.haomeiwen.com/subject/btragqtx.html