ansible中的角色

news2024/11/26 12:52:46

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.coloradmin.cn/o/1301053.html

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

相关文章

selenium库的使用

来都来了给我点个赞收藏一下再走呗🌹🌹🌹🌹🌹 目录 一、下载需要用到的python库selenium 二、selenium的基本使用 1.在python代码引入库 2.打开浏览器 3.元素定位 1)通过id定位 2)通过标…

Go开发运维:Go服务发布到K8S集群

目录 一、实验 1.Go服务发布到k8s集群 二、问题 1.如何从Harbor拉取镜像 一、实验 1.Go服务发布到k8s集群 (1)linux机器安装go(基于CentOS 7系统) yum install go -y (2)查看版本 go version (3)创…

UE引擎 LandscapeGrass 实现机制分析(UE5.2)

前言 随着电脑和手机硬件性能越来越高,游戏越来越追求大世界,而大世界非常核心的一环是植被,目前UE5引擎提供给植被生成的主流两种方式为 手刷植被和LandscapeGrass(WeightMap程序化植被)。当然UE5.3推出新一代PCGFramework 节点程序化生成框…

办公word-从不是第一页添加页码

总结 实际需要注意的是,分隔符、分节符和分页符并不是一个含义 分隔符包含其他两个;分页符:是增加一页;分节符:指将文档分为几部分。 从不是第一页插入页码1步骤 1,插入默认页码 自己可以测试时通过**…

一文掌握Ascend C孪生调试

1 What,什么是孪生调试 Ascend C提供孪生调试方法,即CPU域模拟NPU域的行为,相同的算子代码可以在CPU域调试精度,NPU域调试性能。孪生调试的整体方案如下:开发者通过调用Ascend C类库编写Ascend C算子kernel侧源码&am…

784. 字母大小写全排列

字母大小写全排列 描述 : 给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。 题目 : LeetCode 784.字母大小写全排列 : 784. 字母大小写全排列 分析…

JavaScript常用技巧专题二

文章目录 一、前言二、生成随机字符串三、转义HTML特殊字符四、单词首字母大写五、将字符串转换为小驼峰六、删除数组中的重复值七、移除数组中的假值八、获取两个数字之间的随机数九、将数字截断到固定的小数点十、日期10.1、计算两个日期之间天数10.2、从日期中获取是一年中的…

fd信息查看

一、/proc/pid/fdinfo和/proc/pid/fd的含义 二、实例 ref: linux下的/proc/pid/fdinfo和/proc/pid/fd_proc/417/fdinfo/0-CSDN博客 linux select read阻塞_图解Linux的IO模型和相关技术-CSDN博客

实现加盐加密方法以及java nio中基于MappedByteBuffer操作大文件

自己实现 传统MD5可通过彩虹表暴力破解, 加盐加密算法是一种常用的密码保护方法,它将一个随机字符串(盐)添加到原始密码中,然后再进行加密处理。 1. 每次调用方法产生一个唯一盐值(UUID )密码…

生产问题: 利用线程Thread预加载数据缓存,其它类全局变量获取缓存偶发加载不到

生产问题: 利用线程Thread预加载数据缓存偶发加载不到 先上代码 public class ThreadTest {//本地缓存Map<String, Object> map new HashMap<String, Object>();class ThreadA implements Runnable{Overridepublic void run() {System.out.println("Thread…

【崩坏:星穹铁道】卡芙卡狂喜!1.5版本新遗器值不值得刷?

《崩坏&#xff1a;星穹铁道》在1.5版本上线了4套新的遗器套装&#xff0c;照例还是两套外圈遗器两套内圈遗器&#xff0c;分别可以通过幽冥之径侵蚀隧洞副本和模拟宇宙第八世界刷取。 那么本期闲游盒小盒子就简单解析一下这4套新遗器&#xff0c;它们的属性适合哪些角色&#…

2021版吴恩达深度学习课程Deeplearning.ai 05序列模型 12.5

学习内容 05.序列模型 1.1 为什么用序列模型 1.序列模型常见的应用 1.2 注释 notation 1.*T_x(i)表示训练样本x(i)的序列长度&#xff0c;T_y(i)表示target(i)的序列长度2.训练集表示单词的方式*构建字典的方式*在训练集中查找出现频率最高的单词*网络搜集常用字典3.如果遇…

微服务——服务保护Sentinel

雪崩问题 在单体项目里面&#xff0c;如果某一个模块出问题会导致整个项目都有问题。 在微服务项目里面&#xff0c;单独一个服务出问题理论上是不会影响别的服务的。 但是如果有别的业务需要调用这一个模块的话还是会有问题。 问题产生原因和解决思路 最初那只是一个小小…

GEE影像升尺度(10m->250m)

GEE影像升尺度&#xff08;10m->250m&#xff09; 代码 var ext /* color: #d63000 *//* shown: false *//* displayProperties: [{"type": "rectangle"}] */ee.Geometry.Polygon([[[108.74625980473367, 28.562445155322063],[108.74625980473367, …

云计算在计算机领域的应用与发展

云计算在计算机领域的应用与发展 一、引言 随着科技的不断发展&#xff0c;计算机领域已经成为当今社会最为活跃和创新的领域之一。云计算作为一种新兴的计算模式&#xff0c;已经在计算机领域中得到了广泛的应用&#xff0c;并且正在不断地推动着计算机领域的发展。本文将探…

令牌桶算法理解学习(限流算法)

令牌桶算法是网络流量整形&#xff08;Traffic Shaping&#xff09;和速率限制&#xff08;Rate Limiting&#xff09;中最常使用的一种算法。典型情况下&#xff0c;令牌桶算法用来控制发送到网络上的数据的数目&#xff0c;并允许突发数据的发送。 用简单的话语来说就是限制…

基于MyBatis二级缓存深入装饰器模式

视频地址 学习文档 文章目录 一、示意代码二、装饰器三、经典案例—MyBatis二级缓存1、Cache 标准定义2、PerpetualCache 基础实现3、增强实现3-1、ScheduledCache3-2、LruCache 先来说说我对装饰器理解&#xff1a;当你有一个基础功能的代码&#xff0c;但你想在不改变原来代…

轻量封装WebGPU渲染系统示例<46>- 材质组装管线(MaterialPipeline)灯光、阴影、雾以及多Pass(源码)

当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MaterialPipelineMultiPasses.ts 当前示例运行效果: 此示例基于此渲染系统实现&#xff0c;当前示例TypeScript源码如下&#xff1a; export class MaterialPipelin…

airserver mac 7.27官方破解版2024最新安装激活图文教程

airserver mac 7.27官方破解版是一款好用的airplay投屏工具&#xff0c;可以轻松将ios荧幕镜像&#xff08;airplay&#xff09;至mac上&#xff0c;在mac平台上实现视频、音频、幻灯片等文件资源的接收及投放演示操作&#xff0c;解决iphone或ipad的屏幕录像问题&#xff0c;满…

Leetcode1466. 重新规划路线

Every day a Leetcode 题目来源&#xff1a;1466. 重新规划路线 解法1&#xff1a;深度优先搜索 n 座城市&#xff0c;从 0 到 n-1 编号&#xff0c;其间共有 n-1 条路线。 因此&#xff0c;要想在两座不同城市之间旅行只有唯一一条路线可供选择&#xff08;路线网形成一颗…