食谱和资源有什么区别?
如何将资源调入配方?我可以看到如何包含配方但不了解配方如何使用资源。
答案 0 :(得分:1)
Chef配方只是一系列资源(有时还有其他类似的变量定义),它们的行为按照定义顺序执行。
主要是使用模式(资源名称,属性 - 值对和操作)定义的资源集合(c)docs
这是创建具有指定内容的文件的示例资源。 Chef resources doc提供了可以用这些方法完成的示例。
file '/var/www/public_html/index.php' do
content '<html>This is a placeholder for the home page.</html>'
mode '0755'
owner 'admin'
group 'admin'
action :create
end
答案 1 :(得分:1)
Ivan对于作为资源集合(以及任意ruby代码)的食谱是100%正确的,所以这里有关于资源如何工作以及如何使用它们的更多信息。
depends 'hostsfile', '2.4.5'
这将使该食谱中的所有资源都在您的食谱中可用
这是由厨师根据食谱名称和资源名称创建的。如果您不遵循蛇案的最佳实践,那么命名约定会遵循一些规则,这会使您感到困惑。
因此,资源COOLEST-COOKBOOK
的食谱rAd_ReSoUrCe
将变为coolest_cookbook_rad_resource 'resource name'
有三种常用的资源类型。从最少使用到最常用的顺序是:
HWRP允许对名称间距进行大量控制,但相对而言需要大量工作。
LWRP是HWRP的绝佳替代品,但仍然有与之相关的锅炉铭牌代码。它们还要求您维护两个单独的文件,即提供程序和资源。资源声明与LWRP关联的属性,并且Provider提供资源在调用时所执行操作的逻辑。
自定义资源允许您维护具有属性(与属性类似)和逻辑的单个文件。它还消除了与LWRP相关的几乎所有锅炉板代码。您必须使用Chef-client 12.4+才能使用自定义资源。
真正理解资源查看源代码的唯一方法,因为资源的I / O确实是一个黑盒子。理解自定义资源可以做什么的一个很好的资源是https://docs.chef.io/custom_resources.html,你可以很容易地通过搜索引擎找到HWRP和LWRP解释。