首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于Chef (12.5)自定义资源,如何从另一个操作调用一个操作并保留顺序?

对于Chef (12.5)自定义资源,如何从另一个操作调用一个操作并保留顺序?

在Chef (12.5)中,可以通过使用notifiessubscribes来从一个操作调用另一个操作并保留顺序。

  1. notifies:在一个操作中,可以使用notifies通知另一个操作执行。当指定的条件满足时,通知将被发送给另一个操作。示例代码如下:
代码语言:txt
复制
my_custom_resource 'resource_name' do
  action :create
  notifies :run, 'another_custom_resource[resource_name]', :immediately
end

another_custom_resource 'resource_name' do
  action :nothing
  # 执行的操作
end

在上述示例中,当my_custom_resourcecreate操作完成后,将立即通知another_custom_resourcerun操作执行。

  1. subscribes:在一个操作中,可以使用subscribes订阅另一个操作的执行。当指定的条件满足时,订阅将触发当前操作执行。示例代码如下:
代码语言:txt
复制
another_custom_resource 'resource_name' do
  action :create
  # 执行的操作
  subscribes :run, 'my_custom_resource[resource_name]', :immediately
end

my_custom_resource 'resource_name' do
  action :nothing
end

在上述示例中,当another_custom_resourcecreate操作执行时,将立即订阅my_custom_resourcerun操作,触发当前操作执行。

通过使用notifiessubscribes,可以在Chef (12.5)中实现从一个操作调用另一个操作并保留顺序。这种方式可以确保在特定条件下,操作按照指定的顺序执行。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(Tencent Blockchain):https://cloud.tencent.com/product/tbc
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云移动开发(MSS):https://cloud.tencent.com/product/mss
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【13】进大厂必须掌握的面试题-配置管理面试

不需要很多额外功能的组织会发现Puppet很有用,但是那些需要更多自定义的组织可能需要升级到付费版本。 Chef是用Ruby编写的,因此可以由了解该语言的人自定义。...在客户可以通过Puppet Master进行身份验证之前,需要先签名接受其证书。您将如何自动执行此任务? 最简单的方法是在puppet.conf中启用自动签名。 务必提及这是安全隐患。...指定资源类型,例如包,模板或服务。 根据需要列出其他详细信息(也称为资源属性)。 被分为描述工作配置的配方。 Q15。你用Chef资源是什么意思? 对于此答案,我建议您使用上述流程:首先定义配方。...如果您未在Chef中指定资源操作,会发生什么情况? 我的建议是首先给出一个直接的答案:当您不指定资源操作时,Chef将应用默认操作。...如何设置应用程序的部署顺序? WebLogic Server 8.1允许您选择应用程序的加载顺序。请参阅“应用程序”中的“应用程序MBean加载顺序”属性。

1.2K10

Chef 的安装与使用

调用 Chef REST API Chef 的 REST API 提供了对 Chef 内对象的增删改查操作,如增加、删除一个节点、修改节点属性;查询一个 Cookbook 等。...对于没有外部网络连接的客户端,又没有安装 chef-client 软件,我们可以自定义 bootstrap 所用的模板,让其不从网络下载 chef-client,而直接本地服务器下载 chef-client...Chef 提供一个基础的 chef_handler 资源,我们可以自定义自己的 Handler 来支持业务需求。自定义 Handler 需要继承 Chef 提供的基础 Handler 类。...对于这样一个自定义的 Handler,我们可以将其作为一个文件放到一个 Cookbook 的 files 的 default 目录下(假设命名为 chef-handler-mine.rb),然后在此 Cookbook...在当前大势所趋的云环境中,自动化部署也是其中一个重要工作,对于虚机的部署可以调用相关的虚拟化平台接口,而对于虚机的配置,以及软件和应用的自动化部署,就能用到 Chef 这个自动化工具了,而事实也证明,Chef

2.4K30
  • 云编排技术:探索您的选择

    Chef 使用操作手册 (cookbook) 来确定应如何配置每个节点。操作手册包含多个秘诀;一个秘诀是使用 Ruby 语言编写的特定服务的自动化脚本。...Chef 客户端是一个代理,它在节点上运行执行配置节点的实际任务。Chef 可管理任何可运行 Chef 客户端的实体,比如物理机器、虚拟机、容器或基于云的实例。...Heat 模板生成一个堆栈,堆栈是 Heat 中的基本度量单位。您编写的 Heat 模板包含许多资源,每种资源是 OpenStack 中的一个对象具有一个对象 ID。...Heat 创建这些对象跟踪记录它们的 ID。 您还可以使用嵌套堆栈,它是 Heat 堆栈中一个指向另一个 Heat 堆栈的资源。...但是,它对您希望更充分利用已有资源的中小型部署也很有用。 消除了环境不一致性— 通过将应用程序与它的配置和依赖项包装在一起,并作为容器发布,应用程序始终将按照设计在本地或另一个机器上运行。

    2.4K20

    在Ubuntu 18.04上安装Chef服务器工作站

    Chef一个“能够实现将基础架构模型转换为代码形式”的自动化平台,它允许用户跨越数个服务器(或者数个节点)来管理和部署资源。...尽管本地的主机可以运行任意的的操作系统,但将远程服务器作为工作站主机的话,有些好处还是显而易见的,因为这样您就可以任何地方访问它了。...引导节点 引导客户机节点的过程中会自动安装Chef客户端验证节点有效性,引导过程中允许节点Chef服务器读取相关信息,以后也可以有chef客户端根据需要修改相关配置信息。..."/etc/chef/validation.pem"文件被validation.pem文件进行调用,当满足条件的时候会执行对应操作“删除命令”来移除该文件。...运行列表中的配方cookbook时,节点将会服务器中拉取对应程序运行。在这种情况下,这种食谱一般都是含有cron-delvalidate定时作业的。

    2.1K30

    创建您的第一本Chef Cookbook

    在该例中,使用的是执行资源,其会调用一个执行一次的命令。command部分定义了apt-get update && apt-get upgrade -y指令,action操作设置为:run执行命令。...包资源调用相应包(apache2)。包名称值必须是一个合法的包名称。操作设置为install是因为在此步骤中执行了Apache安装操作,这里无需附加操作就可与运行安装操作。...在同一个文件中,添加附加代码: [ngdlal06wm.png] service "apache2" do action [:enable, :start] end 这使用服务资源,该服务资源调用...,之后在对资源和方括号中的资源名进行操作。...如果我们计划部署到不同大小的节点,我们将创建一个模板文件来替换原始节点,这将允许更多自定义特定变量。在此例中,将使用cookbook文件来编辑模板文件。

    3.2K50

    2021年排名前85的DevOps面试问答

    标准化资源配置,进而管理IT基础架构。 它有助于管理和管理多个服务器,维护整个基础架构的完整性。 9.连续监视如何帮助您维护系统的整个体系结构? ?...确定是只保留分支的更改,另一个分支的更改还是进行全新的更改(可能合并两个分支的更改)。 删除冲突标记 >>>>>> 并在最终合并中进行所需的更改。 ?...36.如何部署核心插件的自定义版本?...Jenkins 使用您自定义的核心插件构建 37.如果管理用户已将自己锁定在管理控制台之外,那么如何暂时关闭Jenkins安全性?...资源是任何配置管理工具的基本单元。 这些是节点的功能,例如其软件包或服务。 写在目录中的资源声明描述了要对该资源执行的操作或与该资源一起执行的操作。 执行目录时,它将节点设置为所需状态。 57.

    6.7K30

    Crossplane是否取代 Terraform? – 第一部分:理论

    然而,您可以通过 telnet 连接到服务器手动调用其 API(我过去在调试时经常通过 HTTP 这样做)。...相比之下,控制平面是维护路由表定义如何处理传入数据包的软件部分,而管理平面处理网络堆栈的监控和配置。 你可以将控制平面视为通过路由器的数据的状态管理,而不是系统的常规管理和配置(管理平面)。...对于 Kubernetes,控制平面是 etcd 数据库和确保你的工作负载被适当地放置和运行的核心控制器。 所有云服务都需要一个控制平面。它们需要一些东西来协调向客户端提供服务。...它的设计和主要目的是为你提供一个框架,以确保资源保持在“已知状态”,最终其自己的 Kubernetes 控制平面的配置(或 Git,如果此配置与 Git 存储库同步)中获取其真实来源。...然而,Chef 和 Puppet(以及 Ansible)被设计为配置单个计算环境(物理服务器、虚拟机等),而不是将不同的 API 和资源编排和组合成另一个类似云服务的 API。

    12210

    如何在Ubuntu 14.04服务器上设置Chef 12配置管理系统

    我们将设置一个集中的Chef服务器,它将存储和提供配置指令和节点分析信息。我们还将建立一个工作站,管理员可以使用该工作站来更改代码库更改基础结构的特征。...该Chef文件告诉我们,你的Chef服务器至少应有4个核心和4 GB的RAM。它还应该有一个64位操作系统。对于我们的教程,我们将使用4核/ 8 GB CVM和64位Ubuntu 14.04。...您现在应该在当前目录中调用一个私钥admin.pem。...对于本教程,我们只需将其克隆到我们的主目录: cd ~ git clone https://github.com/chef/chef-repo.git 这会将基本的Chef repo结构下拉到主目录中调用的目录...有关如何执行此操作的详细信息,请参阅工作站配置部分中有关Chef服务器下载密钥的信息。 使用上述信息,可以为各种情况构造正确的自举命令。

    2K00

    最佳的云计算基础设施自动化工具有哪些?

    那么组织如何防止这些成本高昂的数据丢失?需要深入了解自动化基础设施的详细信息。 基础设施自动化工具 数据丢失是IT行业中最大的问题之一,可以解决这个问题的一个方法是使用基础设施自动化工具。...以下将研究其中的一些工具以及如何集成它们。它应该有助于处理数据丢失,减少组织中一些繁琐重复的任务。 Placester公司首席运营官Fred Townes指出,“自动化有很多形式”。...对于任何DevOps团队来说,Vagrant是必不可少的工具,而且事实证明它可以与Linux或Windows无缝协作,因此使其成为一个必备工具。...它包括Chef Enterprise、Chef Infra和Chef Automate。这三者都可以帮助设计出高效可靠的基础设施自动化系统。Chef基础设施自动化工具是一个必不可少的工具。...而结合使用自动化基础设施工具(包括云计算资源调配工具和服务器资源调配工具)可以显著减少人为错误。 (3)生产率 最大限度地提高生产率是基础设施自动化的另一个优势。

    68540

    2019 DevOps 必备面试题——配置管理篇

    不需要大量额外功能的组织会发现 Puppet 很有用,但那些需要更多自定义的组织可能需要升级到付费版本。 Chef 是用 Ruby 编写的,因此可以由熟悉该语言的人进行定制。...它还包括免费功能,如果需要,还可以开源版本升级到企业级。最重要的是,它是一个非常灵活的产品。 Ansible 是一个非常安全的选项,因为它使用 Secure Shell。...Chef 的架构包括: Chef Server:Chef Server 是基础架构配置数据的中央存储。Chef Server 存储配置节点所需的数据并提供搜索功能,允许您根据数据动态驱动节点配置。...Q16. / 如果未在 Chef 中指定 Resource 操作 会发生什么? / 当您未指定资源操作时,Chef 会使用默认操作。...=hello world’ end ``` 因为:创建是文件资源的默认操作

    1.5K20

    自动化工具后起之秀Ansible的部署实践

    面对众多的自动化工具(chef, puppet, saltstack, ansible等),我们该如何选择适合自己的呢?总的来说,无外乎以下几点来权衡利弊。...Puppet和Chef使用的开发语言是Ruby,而Saltstack和Ansible使用的开发语言则是在运维开发这个圈子相对吃得开的Pythen,这也是SaltStack和Ansible相对于Puppet...核心模块(Core Module):和大多数运维工具一样,将系统和应用提供的能力模块化,一个模块有点像编程中一个功能接口,要使用的时候调用接口传参就可以了。...我们DevOps部署大致操作流程如下: 资源:创建部署需要的环境信息,可以是物理机,虚拟机以及容器云环境。 设计:设计部署容器,比如部署mysql和tomcat设置tomcat依赖mysql的关系。...Include:文件加载,在一个任务文件中调用另一个任务文件。

    5K40

    15个私有云上的 DevOps 开源工具

    对于任何支持的企业组织,操作流程的自动化和文档记录,规划变更和跟踪应用的更新都是强制性的要求。 同样的方法也适用于云计算的工作负载量。...它可以让你追踪配置基线之间的变化(又称为配置版本控制),有效的应用它们并在必要时进行回滚更改操作。此外操作流程,如部署或发布管理可以记录验证。...Chef 验证所有定义的资源是否应具有指定的状态,如果必要,任何资源的实际状态如果与指定的状态不同,那么则应用更改。...由配置文件来自定义要配置的系统,Cobbler 支持多个配置文件。一旦节点被配置,Cobbler 应确保该节点被引导到预配置的操作系统而不是PXE。...然后,这个 bundle 可以导入到另一个 Juju 环境中,以准确的部署已部署的应用程序。Juju 包含 命令行客户端和web客户端。 Juju 使用 Go 语言编写。

    2.3K50

    ​2019 DevOps 必备面试题——配置管理篇

    不需要大量额外功能的组织会发现 Puppet 很有用,但那些需要更多自定义的组织可能需要升级到付费版本。 Chef 是用 Ruby 编写的,因此可以由熟悉该语言的人进行定制。...它还包括免费功能,如果需要,还可以开源版本升级到企业级。最重要的是,它是一个非常灵活的产品。 Ansible 是一个非常安全的选项,因为它使用 Secure Shell。...Chef Server 存储配置节点所需的数据并提供搜索功能,允许您根据数据动态驱动节点配置。 Chef Node: Node 是使用 Chef-client 配置的任何主机。...Q16、如果未在 Chef 中指定 Resource 操作,会发生什么? 当您未指定资源操作时,Chef 会使用默认操作。...world’ end 因为:创建是文件资源的默认操作

    1K20

    基础架构即代码 vs 配置管理 vs 基础架构预配

    我们还将研究每种工具的流行工具以及它们如何协同工作。...一个自动化的输出可以用作另一个自动化的输入。例如,要部署服务器,您需要一个网络。因此,一个自动化将配置网络资源另一个自动化将使用其输出来部署服务器。 ---- 什么是基础结构即代码 (IAC)?...在后端,它使用特定于云的 API 调用来预配和管理资源。它可以帮助没有编程知识的系统管理员和工程师采用基础结构即代码。...在这种情况下,它将仅创建一个手动删除的服务器,维护用户在代码中声明的两个服务器的状态。 ️...配置管理工具的另一个实际用例是为不可变的基础结构部署创建虚拟机映像。

    2.5K10

    如何在Ubuntu上安装Chef服务器,工作站和客户端

    我们还将安装一个工作站,允许我们与服务器交互构建配置策略,这是我们将负责管理基础架构环境的工作。 最后,我们将引导一个节点,该节点将代表我们组织中将通过Chef管理的一个服务器。...单击“Chef Server”选项卡,然后选择与您的操作系统匹配的菜单: [选择操作系统] 在右侧选择最新版本的Chef 11服务器: [选择Chef版本] 您将看到一个deb文件的链接。...回到工作站计算机上,您需要在同一目录中为admin用户创建另一个文件: nano admin.pem 粘贴服务器界面复制的密钥的内容(同样,这会缩短): -----BEGIN RSA PRIVATE...保存关闭文件。 配置knife命令 我们现在必须配置knife命令。此命令是与我们的服务器和将要配置的节点进行通信的核心方式。我们需要告诉它如何进行身份验证,然后生成一个用户来访问Chef服务器。...引导客户端节点 现在我们已经将Chef服务器和工作站联机,我们可以尝试在示例节点上引导Chef客户端。我们将使用另一个Ubuntu实例。 引导过程涉及在节点上设置Chef客户端。

    2.9K30

    如何Chef中使用角色和环境来控制服务器配置

    Chef一个出色的配置管理系统,可以让您轻松配置整个系统的不同组件。关于Chef的基本概念和怎么使用详情参考腾讯云+社区。 在本指南中,我们将继续探索如何使用Chef管理您的环境。...Chef的角色视图几乎与常规定义完全相同。Chef中的角色是一种描述特定机器应该执行的操作的分类。它有什么责任,应该给它什么样的软件和设置。 在不同的情况下,您可能有一些机器处理多个角色。...例如,一个环境可以称为“测试”,另一个环境可以称为“生产”。由于您不希望任何仍在测试的计算机成为生产计算机,因此每台计算机只能位于一个环境中。...与JSON角色文件一样,环境JSON文件还有两条额外的信息(json_class和chef_type),我们应该保留这些信息。...完成后,保存关闭文件。在节点运行的下一个chef-client上,它将获取新属性和版本约束修改自身以与新策略保持一致。

    1.4K30

    ​2019 DevOps 技术指南

    ,所以你可以打印出来粘在桌子上以便参考。 虽然路线图很好,它告诉了你要学什么,但它没有告诉你如何学习和在哪里学习。...2、操作系统 这是 Ops 部分的内容,在更早之前负责了解操作系统和硬件的人员以及系统管理员掌握操作系统即可。但对于 DevOps,现在开发人员也需要了解它们。...3、终端命令 对于 DevOps 人员来说,熟练地掌握常用的、好用的操作系统命令是很重要的,特别是在 Linux 操作系统上工作的研发人员,至少需要知道一些必需的 Linux shell 命令,如 Bash...7、持续集成/交付 对于 DevOps 大师来说,这是另一个非常重要的事情:建立一个持续集成和交付的流水线。CI / CD 领域有很多工具,例如 Jenkins、TeamCity、Drone 等。...8、监控软件和基础设施 除了配置和部署之外,监控是 DevOps 的另一个重要方面,这就是 DevOps 工程师了解基础设施和应用程序监控的重要原因。

    50021

    Terraform 系列-Terraform 简介

    Terraform 是一种基础架构即代码(IaC)工具,可让您安全高效地构建、更改云和本地资源对其进行版本控制。...这允许对数据中心的蓝图进行版本控制,像对待任何其他代码一样对待它。此外,基础设施可以共享和重复使用。•执行计划(Plan):Terraform 有一个“计划”步骤,它可以生成执行计划。...执行计划显示了 Terraform 在您调用 apply 时将执行的操作。这可以让您在 Terraform 操作基础设施时避免任何意外。...有了前面提到的执行计划和资源图,您就可以确切地知道 Terraform 将更改什么以及更改的顺序,从而避免许多可能的人为错误。...要使用模块,你并不需要知道模块的工作方式,只需要知道如何设置输入和输出即可。对于提升软件抽象度和代码复用,模块是很有用的工具。类似于积木块或 Python 的 library.

    40320

    快来自定义一个属于你自己的java注解吧

    :类型参数声明 TYPE_USE:使用类型 @Retention :指该注解的生命周期,存活在哪个阶段 SOURCE:批注将被编译器丢弃 CLASS:注释将由编译器记录在类文件中,但不必在运行时由VM保留...就是用图中上面那几个加粗颜色的属性和值 实战演练 其实使用这个自定义注解,千言万语就一句话 先声明一个自定义的注解 通过反射等方式取出这个注解,再根据这个注解中自己设定的值去做一些定制化的操作 本文将演示三种类型的自定义注解怎么用...null; } } 最主要的就是这个工具类(用到反射),其中根据传进来的对象判断符合不符合我们的要求 (注解时的名字是不是小杰),如果符合的话,把注解在属性上的注解拿出来 我们通过测视类来调用一下...DIYMethodAnnotation diyMethodAnnotation = method.getAnnotation(DIYMethodAnnotation.class); // 根据注解自定义的一些属性去做自定义操作.../字段/方法有什么特殊的要求的话,可以使用自定义注解,再通过反射获取到此注解,再根据这个注解中自定义的值在进行我们自定义操作

    38310
    领券