美文网首页
ansible角色功能

ansible角色功能

作者: 张新雨有点胖噢 | 来源:发表于2019-08-27 08:51 被阅读0次

ansible角色功能

角色功能作用
(1) 让剧本配置更加规范(新用户接手操作也可以快速理解剧本作用)
(2) 可以让剧本信息简化
(3) 可以再汇总剧本中看到主机信息

角色功能配置方法

配置主机清单

可以在角色功能中单独配置
vim /etc/ansible/roles/hosts (角色功能配置主机清单)
例:

[rsync_server]
172.16.1.41
[rsync_client]
172.16.1.31
172.16.1.7

定义角色目录 及目录作用

角色目录就是将一个大型脚本进行分化,细化 从而更好的进行理解 书写 排错等
第一种方法: 直接创建
mkdir /etc/ansible/roles/rsync (定义一个角色 目录为rsync)
mkdir /etc/ansible/roles/rsync/{tasks,files,vars,handlers,templates}(定义角色功能目录)
tasks 目录定义任务的剧本任务信息
files 目录存放要分发的文件信息
vars 目录存放定义剧本中变量信息文件
handlers 目录中存放定义剧本中触发器信息文件
templates 目录存放保存模板信息
defaults 目录中存放不长更改的变量信息
方法二: 使用命令直接创建角色目录信息
ansible-galaxy init rsync
(会直接创建角色目录 不用手动创建下级目录)

PS:角色目录规范
角色目录下编写的剧本等内容都需要编写在
main.yml文件中 (主要剧本文件) 当整合剧本读取角色时会读取每个模块下 main.yml文件内容

配置角色目录中剧本信息(编写角色剧本信息)

第一步: 编写剧本内容

所有的剧本内容信息都需要在/etc/ansible/roles/rsync/tasks目录内存放

编写方法一 直接在main.yml中编写内容
以rsync简易自动搭建剧本举例

- name: 分发编写的配置文件
    copy: src={{ item }} dest=/etc/
    with_items:
      - rsyncd.conf
    notify: rsync_restart

  - name: 创建用户
    user: name=rsync shell=/sbin/nologin create_home=no

  - name: 创建目录 赋予权限
    file: path=/backup owner=rsync group=rsync state=directory

  - name: 创建书写验证文件
    copy: content='rsync_backup:123456' dest=/etc/rsync.password mode=600

  - name: 启动服务
    service: name=rsyncd state=started enabled=yes

方法二: 在/etc/ansible/roles/rsync/tasks/目录下编写多个小剧本
再用main.yml主要剧本文件进行整合
vim /etc/ansible/roles/rsync/tasks/rsync_config.yml

- name: 分发编写的配置文件
    copy: src={{ item }} dest=/etc/
    with_items:
      - rsyncd.conf
    notify: rsync_restart
第二步: 将需要分发的文件放入files中

角色功能方式执行脚本时 默认到files目录查找分发文件 所以要将分发的文件都要存在/etc/ansible/roles/rsync/files目录中
mv /etc/rsyncd.conf /etc/ansible/roles/rsync/files/

第三步: 编写所需变量剧本

xxx/vars/main.yml 指定所有rsync角色剧本所需要的变量存放目录文件

第四步: 编写脚本所需触发器剧本

xxx/handlers/main.yml指定所有触发器剧本存放目录文件

vim /etc/ansible/roles/rsync/handlers/main.yml

- name: rsync_restart
  service: name=rsyncd state=restarted

调取角色信息,执行剧本

将角色调取过来 执行角色下的剧本信息 实现各种功能
编辑定义汇总剧本

vim /etc/ansible/roles/site.yml

- hosts: filebeat       # 定义IP信息
  remote_user: root     # 执行剧本时客户端调用的客户
  roles:                # 定义要调取的角色
#  - nginx
#  - tomcat
#  - mysql
#  - mongodb
  - filebeat            # 被调取的角色信息

剧本会执行rsync目录下定义的所有剧本信息
PS 剧本执行细节
执行剧本时要时指定了角色IP清单配置 执行命令
ansible-playbook /etc/ansible/roles/site.yml -i /etc/ansible/roles/hosts
参数: - i指定主机清单位置

templates目录作用

templates 目录 用于放置模板文件
模板文件就是分发文件中,有剧本模式方法设置的变量
想让其生效 就要放置在templates下并改变capy模块

(1) 修改配置文件,变成模板文件
例rsync配置文件
port = {{ prot }}
将配置文件中经常变化的地方设置变量

(2) 将模板文件移动到/templates目录下
mv /etc/ansible/roles/rsync/fies/rsyncd.conf /etc/ansible/roles/rsync/templates

(3) 修改复制数据模块
将copy修改为template 以启用配置文件内的变量

- name: 分发编写的配置文件
  template: src={{ config_dir }}/{{ item }} dest=/etc/
         (copy修改为template模块)
    with_items:
      - rsyncd.conf
    notify: rsync_restart

相关文章

  • day 40HTTP9网络协议说明

    课程介绍部分 课程知识回顾 ansible剧本角色功能配置说明 02.如何配置角色功能 补充: templates...

  • 2019-08-27 ansible角色及http开头

    ansible 剧本循环功能with_items/loopansible剧本角色功能说明 1 .让剧本配置更加规范...

  • ansible剧本角色功能rsync

    作用:规范化配置,剧本文件名称和目录规范。 一、目录规范 在roles下面创建角色目录要求:完成备份服务器角色功能...

  • Ansible Roles 角色

    Linux System Environment Ansible Roles角色简介 Ansible 角色是基于A...

  • D-41HTTP网络协议说明

    一、ansible剧本角色功能配置说明 角色功能作用 1.让剧本配置更加规范2.可以让剧本信息简化3.可以在汇总剧...

  • Ansible角色

    第一章 Ansible rolers介绍 官方地址: 第二章 角色目录规划 01.目录说明: 官方的目录结构,必须...

  • Ansible角色

    1.目录说明: 1.编写init初始化角色剧本 01.创建对应目录 02.编写任务剧本 03.编写jinja模版文...

  • 2020-01-10

    ansible学习 什么是ansible 同类型软件对比 Ansible的功能及优点 ansible架构与执行流程...

  • 01-初步认识Ansible

    Ansible 初步认识Ansible 什么是Ansible Ansible 是一个配置管理和应用部署工具,功能类...

  • (转)08Ansible角色

    08Ansible角色 第一章 Ansible rolers介绍 官方地址: 第二章 角色目录规划 01.目录说明...

网友评论

      本文标题:ansible角色功能

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