ansible程序roles角色

剧本编写完问题:
    1. 目录结构不够规范            OK
    2. 编写好的任务如何重复调用
    3. 服务端配置文件改动,客户端参数信息也自动变化
    4. 汇总剧本中没有显示主机角色信息
    5. 一个剧本内容信息过多,不容易进行阅读,如何进行拆分     OK
    
    第一个历程: 规范目录结构
    cd /etc/ansible/roles
    mkdir {rsync,nfs}   --- 创建相应角色目录,目录名代表角色名
    mkdir {nfs,rsync}/{vars,tasks,templates,handlers,files}  --- 创建角色目录下面的子目录
    [root@m01 roles]# tree 
    .
    ├── nfs
    │   ├── files       --- 保存需要分发文件目录 
    │   ├── handlers    --- 保存触发器配置文件信息
    │   ├── tasks       --- 保存要执行的动作信息文件   ok
    │   ├── templates   --- 保存需要分发模板文件 模板文件中可以设置变量信息会调用vars中的变量进行赋值 如果要传输该目录下的文件需要把copy模块换成template
    │   └── vars        --- 保存变量信息文件
    └── rsync
        ├── files
        ├── handlers
        ├── tasks
        ├── templates
        └── vars
    
    第二个历程: 在roles目录中创建相关文件
    编写文件流程图:
    1) 编写tasks目录中的main.yml文件
    - name: 01-copy conf file
      copy: src=exports dest=/etc
      notify: restart nfs server
    - name: 02-create data dir
      file: path={{ Data_dir }} state=directory owner=nfsnobody group=nfsnobody   
     
    - name: 03-boot server
      service: name={{ item }} state=started enabled=yes
      with_items:
        - rpcbind
        - nfs
      
    tasks目录中的main.yml文件中的信息可以在此拆分 以后可以重复调用
    vim main.yml
    - include_tasks: copy_info.yml
    - include_tasks: create_dir.yml
    - include_tasks: boot_server.yml
    
    vim copy_info.yml     
    - name: 01-copy conf file
      copy: src=exports dest=/etc
      notify: restart nfs server

    vim create_dir.yml
    - name: 02-create data dir
      file: path={{ Data_dir }} state=directory owner=nfsnobody group=nfsnobody 

    vim boot_server.yml
    - name: 03-boot server
      service: name={{ item }} state=started enabled=yes
      with_items:
        - rpcbind
        - nfs    

    2) 编写vars目录中的main.yml文件 
    [root@m01 vars]# vim main.yml
    Data_dir: /data
    Prot_info: 876
    
    3) 编写files目录中的文件
    [root@m01 files]# ll
    total 4
    -rw-r--r-- 1 root root 29 May 17 15:23 exports
    
    4) 编写handlers目录中的main.yml文件 
    vim main.yml
    - name: restart nfs server
      service: name=nfs state=restarted
    
    目录中文件编写好汇总结构
    [root@m01 nfs]# tree
    .
    ├── files
    │   └── exports
    ├── handlers
    │   └── main.yml
    ├── tasks
    │   └── main.yml
    ├── templates
    └── vars
        └── main.yml
        
    第三个历程: 编写一个主剧本文件
    cd /etc/ansible/roles/
    [root@m01 roles]# cat site.yml 
    - hosts: nfs_server
      roles:
        - nfs-server
    
    - hosts: rsync_server
      roles:
        - rsync

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值