博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ansible程序roles角色
阅读量:2337 次
发布时间:2019-05-10

本文共 1981 字,大约阅读时间需要 6 分钟。

剧本编写完问题:

    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

转载地址:http://shepb.baihongyu.com/

你可能感兴趣的文章
我已经安装了哪个版本的Python?
查看>>
ng-if和ng-show / ng-hide有什么区别
查看>>
将Java InputStream的内容写入OutputStream的简便方法
查看>>
用Java复制文件的标准简洁方法?
查看>>
管理webpack中的jQuery插件依赖项
查看>>
删除可能不存在的文件的大多数pythonic方式
查看>>
如何在Eclipse中为Java文本编辑器更改字体大小?
查看>>
我们应该@Override接口的方法实现吗?
查看>>
ng-repeat定义次数而不是重复数组?
查看>>
选择语句以查找某些字段的重复项
查看>>
引导程序中“col-md-4”,“col-xs-1”,“col-lg-2”中数字的含义
查看>>
JavaScript ES6类中的私有属性
查看>>
List vs tuple,何时使用? [重复]
查看>>
默认情况下,如何以管理员身份运行Visual Studio?
查看>>
通过varargs参数可能导致堆污染
查看>>
Git学习笔记1 神奇的git stash
查看>>
Unable to locate package错误解决办法
查看>>
关于service中添加Transaction注解后,service无法注入bean
查看>>
linux shell 自定义函数(定义、返回值、变量作用域)介绍
查看>>
写自己的ASP.NET MVC框架(上)
查看>>