AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 559079
Accepted
Ville Mattila
Ville Mattila
Asked: 2013-12-04 21:18:18 +0800 CST2013-12-04 21:18:18 +0800 CST 2013-12-04 21:18:18 +0800 CST

如何让 puppet 在目录运行结束时启动所有服务?

  • 772

尤其是在从头开始设置一个全新的服务器时,puppet 往往会在所有依赖项都得到满足后立即启动依赖服务。这有时会导致在其他包的设置(可能不依赖于服务)仍在运行时不必要地过早启动服务。

是否有任何单行定义或配方可以在整个目录运行结束时自动使所有服务启动/刷新?我试图弄清楚是否可以使用运行阶段,但据我了解,这将要求所有服务定义都明确定义为“最后”阶段。


更新 1:我的问题的一些背景。Puppet 在节点的初始设置期间工作相当密集,因此保留了相当小的虚拟机的资源(在我的例子中,开发机器上的 Vagrant)。当设置阶段达到一些服务(在我的例子中是后台工作人员)准备就绪时,Puppet 启动它们并且工作人员开始从队列中接收作业。这种工作负载会减慢仍在进行的 Puppet 节点设置过程,同时 Puppet 也会减慢工作人员的速度,直到整个设置完成并且盒子处于稳定状态。

这就是为什么我开始认为在节点上的所有服务启动之前让 Puppet 将初始设置工作到最后会很好的原因,以及为什么我想知道是否有任何简单的方法可以用 Puppet 做到这一点。

puppet
  • 3 3 个回答
  • 845 Views

3 个回答

  • Voted
  1. dmourati
    2013-12-04T21:26:03+08:002013-12-04T21:26:03+08:00

    我建议不要全球重启。相反,使用 puppet 依赖项。

    就像是:

    service { 'first':
          ensure    => running,
          enable    => true,
        }
    
    service { 'second':
          ensure    => running,
          enable    => true,
          subscribe => Service['first']
    }
    
    • 4
  2. Dennis Kaarsemaker
    2013-12-04T23:55:36+08:002013-12-04T23:55:36+08:00

    你没有。

    这完全不是 puppet 应该做的事情,虽然你可能会想出一种方法来做这件事,但这根本不是一个好主意。如果您想要实现的只是服务不应该减慢 puppet 的速度(我也觉得这很落后,我更喜欢反过来),为什么不教你的服务在 puppet 运行时放轻松呢?开始了?

    • 1
  3. Best Answer
    Adam Henderson
    2013-12-06T11:24:27+08:002013-12-06T11:24:27+08:00

    实现此目的的一种方法是

    1. 如上所述订阅。
    2. 使用舞台元参数。

    您可以通过以下方式将其作为默认值分配给服务资源类型

    Service { stage => last }
    

    如果您在 nodes.pp 中定义它,它将应用于所有节点,或者您可以为每个节点定义它。

    • 0

相关问题

  • 如何修复 Puppet 完全限定的参数路径错误?

  • puppet:修改配置文件后强制重启服务

  • 木偶模块资源

  • 傀儡主机名问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve