ansible中的角色

1.理解roles在企业中的定位及写法

 查看创建目录结构

ansible - galaxy list

指定新的位置

vim ansible.cfg 

        roles_path  =        ~/.ansible/roles

 

 建立项目

cd roles/
ansible-galaxy init vsftpd
tree vsftpd/

编辑任务执行(顺序)文件

vim vsftpd/tasks/main.yml 

---
# tasks file for vsftpd
- name: install vsftpd
  dnf:
    name: vsftpd
    state: present
- name: start vsftpd
  service:
    name: vsftpd
    enabled: yes
- name: set firewalld
  firewalld:
    service: ftp
    state: enabled
    permanent: yes
    immediate: yes
- name: setup config file
  template:
    src: vsftpd.conf.j2
    dest: /etc/vsftpd/vsftpd.conf
  notify: restart vsftpd
 

编辑j2文件

vim vsftpd/templates/vsftpd.conf.j2

        anonymous_enable={{state}}

编辑变量文件 

vim vsftpd/vars/main.yml 

---
# vars file for vsftpd
state: YES

编辑触发器文件

vim vsftpd/handlers/main.yml 

---
# handlers file for vsftpd
- name: restart vsftpd
  service:
    name: vsftpd
    state: restarted

编辑yaml文件

cd ..
 vim vsftpd.yml 

 - name: create ftp server
  hosts: all
  roles: 
    - name: create vsftpd
      role: vsftpd

运行

ansible-playbook vsftpd.yml

这样把各个部分都分开,各自书写,不用过于考虑缩进,而且更加直观。

2.关于roles执行的技巧

playbook 中使用 roles
---
- hosts : server2
  roles :
    - role : role1
    - role : role2
      var1 : value1                   ## 此处变量会覆盖 roles 中的定义变量
直接覆盖数据
vim vsftpd.yml 
- name: create ftp server
  hosts: all
  roles: 
    - name: create vsftpd
      role: vsftpd
      state: 'NO'
# 控制任务执行顺序 #
---
- hosts : server2
  roles :
    - role : role1                           ## 角色任务
  pre_tasks :                               ##角色执行前执行的 play
    - tasks1
  tasks :                                       ##普通任务
    - tasks2
  post_tasks :                                 ##在角色和普通任务执行完毕后执行的 play
    - tasks3
  handlers :

3.role的下载和共享

#ansible—galaxy 命令工具 #
* Ansible Galaxy 是一个免费共享和下载 Ansible 角色的网站 可以帮助我们更好的定义和学习 roles
* ansible - galaxy 命令默认与 https :// galaxy.ansible.com 网站 API 通信 可以查找 下载各种社区开发的 Ansible 角色

 

* ansible - galaxy Ansible 1.4.2 就已经被包含了
* galaxy.ansible.com 网站查询 roles
在官网找到后下载

ansible-galaxy collection install altispeed.web

将自己编写的打包以及怎么下载

tar zcf vsftpd.tar.gz vsftpd

mv vsftpd.tar.gz /tmp/
rm -fr vsftpd

vim vsftpd_role.yaml
        - src: file:///tmp/vsftpd.tar.gz
          name: westos


ansible-galaxy install -r vsftpd_role.yaml 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/216320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeeCode】55. 右旋字符串

题目描述 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。 例如,对于输入字符串 &qu…

事业编《综应 综合知识应用能力 综合应用》笔记

文章目录: 一:归纳概况题 二:对策措施题 三:综合分析题 四:公文写作题 五:事务处理题 六:案例分析题 1.问题类 2.原因类 3.影响类 4.场景方案类 七:材料作文题 八&#…

做数据分析为何要学统计学(9)——什么是回归分析

​回归分析(regression analysis)是量化两种或两种以上因素/变量间相互依赖关系的统计分析方法。回归分析根据因素的数量,分为一元回归和多元回归分析;按因素之间依赖关系的复杂程度,可分为线性回归分析和非线性回归分析。我们通过…

ETLCloud的应用策略——实时数据处理是关键

一、ETLCloud是什么? ETLCloud又称数据集成(DataOps),是RestCloud旗下的一款数据仓库管理工具,通过自动化数据转换和集成来实现企业内部和外部数据的无缝对接,从而帮助企业快速获取准确的数据信息&#xff…

9.9万做直升机产权项目合伙人 | 新机遇,共享千亿财富

你曾想过能开直升机?甚至想拥有一架直升机?那种飞跃人生的心境,翱翔蓝天白云。可面临居多疑问,比如:学开直升机需要怎样的条件(年龄、学历、费用、学习内容及周期等)?到哪里学/买直升机比较安全…

开源知识问答平台网站源码系统商业运营版+安装部署完整教程

随着互联网的普及,人们对知识的需求越来越高,而知识问答平台能够为人们提供快速、准确的答案。然而,现有的知识问答平台往往存在一些问题,如答案质量不高、广告太多等。罗峰给大家介绍一款开源知识问答平台网站源码系统商业运营版…

【Vue】使用moent转换GMT时间格式为北京时间

名词解释 GMT(Greenwich Mean Time)和UTC(Coordinated Universal Time)是两个时间标准,它们在许多方面非常相似,但也有一些微小的差异。 GMT最初是在1884年确定的,它是以英国伦敦的格林威治天…

系列九、MyBatis一对一级联更新问题

一、概述 日常工作中经常会涉及到一对一级联更新的问题&#xff0c;例如&#xff1a;更新员工信息时也需要更新员工所在的部门信息&#xff0c;那么这种情况下就涉及到了MyBatis的级联更新问题。 二、代码实战 2.1、pom <dependencies><!-- springboot --><d…

Linux——MySQL数据库系统

一、 MySQL的编译安装 1、准备工作 &#xff08;1&#xff09;为了避免发生端口冲突&#xff0c;程序冲突等现象&#xff0c;建议先查询MySQL软件的安装情况&#xff0c;确认没有使用以Rpm方式安装的mysql-server、mysql软件包&#xff0c;否则建议将其卸载 [rootlocalhost ~]…

【SpringBoot】从入门到精通的快速开发指南

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《SpringBoot》。&#x1f3af;&#x1f3af; &…

自动化测试 (一) 12306火车票网站自动登录工具

还记得2011年春运&#xff0c;12306火车票预订网站经常崩溃无法登录吗。 今天我们就开发一个12306网站自动登录软件。 帮助您轻松订票 Web的原理就是&#xff0c;浏览器发送一个Request给Web服务器&#xff0c;Web服务器处理完这个请求之后发送一个HTTP Response给浏览器。 …

【Linux系统编程】代码调试工具gdb

介绍&#xff1a; gdb是一个非常强大的调试工具&#xff0c;在gdb下&#xff0c;我们可对编写的代码进行各种调试&#xff0c;找出其中的bug&#xff0c;但是需注意的是&#xff0c;此工具调试与VS编译器的调试道理相同&#xff0c;只有在debug版本下才可以被调试&#xff0c;在…

为什么近期白酒市场股票暴跌?2024年中高端酒企发展如何撬动市场?

为什么近期白酒市场股票暴跌&#xff1f;2024年中高端酒企发展如何撬动市场&#xff1f; 近期白酒市场股票暴跌的原因主要有两个方面&#xff1a;一是宏观经济环境的不景气&#xff0c;导致投资者对白酒行业的未来发展持谨慎态度&#xff1b;二是白酒市场竞争激烈&#xff0c;龙…

Linux---计划任务

本章主要介绍如何创建计划任务 使用 at 创建计划任务使用 crontab 创建计划任务 有时需要在某个指定的时间执行一个操作&#xff0c;此时就要使用计划任务了。计划任务有两种&#xff1a; 一个是at计划任务&#xff0c;另一个是 crontab计划任务。 下面我们分别来看这两种计划…

深度学习——第3章 Python程序设计语言(3.7 matplotlib库)

3.7 matplotlib库 目录 1 matplotlib库简介 2 pyplot的plot函数 3 matplotlib基础绘图函数示例 数据可视化有助于深度理解数据。 本节介绍绘制图形的基本方法。 1. matplotlib库简介 matplotlib官网 1.1 matplotlib库概述 matplotlib是Python优秀的数据可视化第三方库&a…

PyQt6 表单布局Form Layout (QFormLayout)

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计43条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

easyexcel根据模板下载文件

为什么要使用EasyExcel easyExcel是阿里巴巴下在POI的基础上二次开发的开源api&#xff0c;以使用简单、节省内存著称。 POI由于在操作excel时是先将所有数据都读入内存后&#xff0c;再写入文件&#xff0c;比较消耗内存&#xff0c;特别是大数据量时&#xff0c;容易出现OOM…

(分页模拟)简单模拟操作系统分页管理

简单模拟一下内存分页&#xff0c;分配和回收。这里我就用最最最简化的方式没有技术含量。 每个进程维护一张页表&#xff0c;然后操作系统用位示图模拟内存分配情况(0: 未分配&#xff0c;1已经分配) import java.util.*;public class Main {public static int PAGE_COUNT …

Weblogic 数据库连接池溢出解决方法

引言 在信息运维工作中发现&#xff0c;由于部分应用系统编写的代码不够健壮&#xff0c;对于数据库连接没有及时进行回收处理&#xff0c;造成Weblogic数据库连接池溢出&#xff0c;影响系统的稳定运行。其实Weblogic提供了数据库连接的回收机制&#xff0c;可以将超过配置时…

基于redisson实现发布订阅(多服务间用避坑)

前言 今天要分享的是基于Redisson实现信息发布与订阅&#xff08;以前分享过直接基于redis的实现&#xff09;&#xff0c;如果你是在多服务间基于redisson做信息传递&#xff0c;并且有服务压根就收不到信息&#xff0c;那你一定要看完。 今天其实重点是避坑&#xff0…