创建角色和变量

本文介绍了在Ansible中创建和使用角色的流程,包括创建角色目录、定义角色内容、在playbook中使用角色,以及如何通过变量更改角色行为。详细讲解了变量的覆盖规则,并展示了如何在vars目录编写变量,以及使用ansible galaxy部署角色。
摘要由CSDN通过智能技术生成

创建角色和变量

角色创建流程

在Ansible中创建角色不需要特别的开发工具。创建和使用角色包含三个步骤:

  1. 创建角色目录结构
  2. 定义角色内容
  3. 在playbook中使用角色

创建角色目录(独享)


[root@control2 test]# mkdir  -p  httpd/{defaults,vars,files,templates,tasks,handlers,test} 
[root@control2 test]# tree  httpd/
httpd/
|-- defaults
|-- files
|-- handlers
|-- tasks
|-- templates
|-- tests
`-- vars


[root@control2 test]# touch httpd/{defaults/main.yml,tasks/main.yml,vars/main.yml}
[root@control2 test]# tree  httpd/
httpd/
|-- defaults
|   `-- main.yml
|-- files
|-- handlers
|-- tasks
|   `-- main.yml
|-- templates
|-- tests
`-- vars
    `-- main.yml

创建角色(共享)

[root@control2 test]# ansible-galaxy init  apache
- Role apache was created successfully

[root@control2 test]# ls
apache  httpd  roles
[root@control2 test]# tree  apache/
apache/
|-- README.md
|-- defaults     //默认值
|   `-- main.yml
|-- files
|-- handlers         //触发程序
|   `-- main.yml
|-- meta
|   `-- main.yml
|-- tasks             //任务文件
|   `-- main.yml
|-- templates        //模板文件   .j2
|-- tests            //play文件
|   |-- inventory
|   `-- test.yml
`-- vars
    `-- main.yml    //变量

用角色安装httpd

在apache/tasks/main.yml编写play

[root@control2 tasks]# cat  main.yml 
---
# tasks file for apache
- name: install apache
  yum:
    name: httpd
    state: present

- name: install policycoreutils-python-utils  //可有可无
  yum:
    name: policycoreutils-python-utils
    state: present

- name: config  apache
  template:
    src: httpd.conf.j2      //事先准备好httpd.conf.j2模板
    dest: /etc/httpd/conf/httpd.conf

- name: service apache
  service:
    name: httpd
    state: restarted #重启服务    #也可以写started 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值