综合架构之ansible(角色相关内容)

补充:

#inventory      = /etc/ansible/hosts  #配置主机清单路径的地方。
#library        = /usr/share/my_modules/
#module_utils   = /usr/share/my_module_utils/
#remote_tmp     = ~/.ansible/tmp
#local_tmp      = ~/.ansible/tmp
ansible

ansible剧本编写方式: 角色

  1. 规范ansible程序目录结构
  2. 汇总剧本中有定义的主机
    3.将任务分开实现不同主机随时都可以模块

编写的步骤

  • 1首先进入/etc/ansible/roles的目录中
  • 2 不同的服务创建不同的目录
  • 3 然后再进入目录中创建子目录
  • 4 有规划的创建子目录
{vars,tasks,templates,handlers,files}

vars: 定义变量信息
tasks: 定义任务信息 -----------> 先编写
templates: 定义模板文件(jinja2模板文件)
handlers: 定义触发器信息
files: 定义需要分发的文件


利用角色编写nfs服务

第一个历程: 编写文件信息

tasks: 任务信息编写方式一:

vim main.yaml
- name: 01:install nfs rpcbind
  yum:
    name: ['nfs-utils', 'rpcbind'] 
    state: installed
- name: 02:copy conf file
  copy: src=/etc/ansible/ansible_playbook/nfs.conf  dest=/etc/{{ conf_file }}
  notify: 
    - nfs_restart
   # - nfs_create_dir
- name: 03:create data dir 
  file: path={{ data_dir }} state=directory owner=nfsnobody group=nfsnobody
- name: 04:boot server rpcbind
  service: name={{ item.name }} state={{ item.state }} enabled={{ item.enabled }}
  with_items:
    - {name: "rpcbind", state: "started", enabled: "yes"}
    - {name: "nfs",     state: "started", enabled: "yes"}
- name: 01:install nfs
  yum: name=nfs-utils state=installed
- name: 02:mount data dir
  mount: src=172.16.1.31:{{ data_dir }} path=/mnt fstype=nfs state=mounted
- name: 03:check mount info
  shell: df -h|grep mnt
  register: mount_info
- debug: msg={{ mount_info.stdout_lines }}

tasks: 任务信息编写方式二(拆分成多个小任务----->更标准)

[root@m01 tasks]# ll
    total 24
    -rw-r--r-- 1 root root 162 Jul 29 10:30 main.yaml //将所有的任务汇总到这里。每个任务中有判断功能。
    -rw-r--r-- 1 root root 296 Jul 29 10:28 nfs_boot.yaml
    -rw-r--r-- 1 root root 194 Jul 29 10:26 nfs_conf.yaml //注意进行判断 
    -rw-r--r-- 1 root root 156 Jul 29 10:27 nfs_datadir.yaml
    -rw-r--r-- 1 root root  96 Jul 29 10:18 nfs_install.yaml
    -rw-r--r-- 1 root root 273 Jul 29 10:28 nfs_mount.yaml

vim main.yaml
- include_tasks: nfs_install.yaml
- include_tasks: nfs_conf.yaml
- include_tasks: nfs_datadir.yaml
- include_tasks: nfs_boot.yaml
- include_tasks: nfs_mount.yaml

vars:
      vim main.yaml
      conf_file: exports
      data_dir: /data
files:
[root@m01 files]# ll
total 4
-rw-r--r-- 1 root root 42 Jul 29 10:34 nfs.conf
//配置文件在角色中放着就可以了。
handlers:
cat main.yaml 
- name: nfs_restart
  service: name=nfs state=reloaded

可以做一个初始化目录 roles下的init目录


使用ansible角色任务读取的流程图

读取流程
  • 1.执行一键化剧本 剧本中汇总多个角色
  • 2.加载host文件
  • 3.task目录 找到main.yaml找到具体执行什么任务
  • 4.如果配置了变量的信息 会找vars
  • 5.如果设计到文件的信息,会找文件的信息
  • 6.再去找handlers进行触发。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容

  • 1)安装2)常用模块3)inventory4)playbook(role\tag\template)5) yaml...
    秦记阅读 4,150评论 2 5
  • 运维核心工作: 操作系统安装(物理机、虚拟机)--> 应用程序包部署(安装、配置、服务启动 )--> 批量操作 -...
    Net夜风阅读 1,511评论 0 4
  • 本文作者: wuXing QQ: 1226032602 E-mail: 1226032602@qq.com ht...
    五行哥阅读 2,395评论 0 0
  • 一.ansible (1) ansible: ansible是一款新出现的自动化运维系统,基于python开发并集...
    楠人帮阅读 1,937评论 0 8
  • 简介 架构 原理 组成 ANSIBLE PLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置...
    毛利卷卷发阅读 1,052评论 0 2