ansible Role基本概念和应用

1.ansible Role基本概念
role是什么:

roles是管理ansible文件的一种规范(目录结构)

roles会按照标准的规范,自动到特定的目录和文件中读取数据

目录结构:

defaults/main.yml: 定义变量的缺省值,优先级较低

files目录:存储静态文件目录

handlers/main.yaml:定义handlers

meta/main.yaml:写作者,版本等描述信息

README.md:整个角色的描述信息

tasks/main.yaml:定义任务的地方

templates:存放动态数据文件的地方(模板文件)

vars/main.yaml 定义变量,优先级高

2.roles基本应用
mkdir ~/ansible/roles 创建roles目录
ansible-galaxy init ~/ansible/roles issue #初始化issue角色
cd ~/ansible/roles
ls

在这里插入图片描述

3.修改roles

3.1定义issue文件的模板文件

cd templates
vim issue.j2   #创建一个
This is the system {{ ansible_hostname }}   #调用ansible自带模块 
Today's date is: {{ ansible_date_time.date }} #调用ansible自带模块
Contact to {{ admin }}  #自己定义模块,在vars中
# 定义变量文件
cd ..
cd vars
vim main.yml
admin: weifeng@weifeng.cn   #添加
3.2修改任务文件,文件中不要tasks关键词

注意:Roles的各个文件之间相互调用不需要写路径

进入到tasks文件夹中

vim main.yml
---
# tasks file for /root/ansible/roles/issue
- name: delever issue file
  template:
     src: issue.j2
     dest: /etc/issue
3.3在playbook中调用Role

方法一:在role相同目录下创建一个playbook调用

方法二:在ansible.cfg添加设置roles_path=路径

cd /etc/ansible
vi ansible.cfg

roles_path= ~/ansible/roles  #role创建的目录

3.4编写剧本调用roles

---
- hosts: test #远程的主机分组
  roles:
     - issue
   # - issue2   #支持加载多个role
   # - issue3   #支持加载多个role
4.公共roles仓库

Ansible Galaxy是官方提供的一个共享roles的平台。

可以下载别人优秀的,也可以自己写的传上去。

http://galaxy.ansible.com

4.1下载Roles的方法:

使用ansible-galaxy install或者编写requirements.yml文件

cat ~/ansible/roles/requirements.yml
#格式一:直接从Ansible Galaxy官网下载
- src: acandid.httpd
#格式二: 从某个git服务器下载
- src: http://gitlab.com/xxx/xxx.git
  scm: git
  version: 56e00a54
  name: nginx-acme
#格式三:下载tar包,支持http,https,file
- sec: http://路径
  name: myrole
ansible-galaxy install -r roles/requirements.yml -p roles  #安装

4.2.ansible-galaxy常用命令
role名是http

ansible-galaxy serach 'http'  #联网搜索roles
ansible-galaxy  info acandic.httpd  #查看roles基本信息
ansible-galaxy install acandid.httpd -p ~/ansible/roles  #下载role到指定目录
ansible-galaxy list -p roles/ #列出本地有哪些roles
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值