Ohai,
有没有办法在AWS OpsWorks上为厨师使用LWRP? 我将如何执行这个:
nfs_export "/exports" do network '10.0.0.0/8' writeable false sync true options ['no_root_squash'] end
这是来自以下的食谱:
https://github.com/atomic-penguin/cookbook-nfs
我想添加一个导出,但是我不能那样做。 此外,我想创build一个rc.local条目来在节点上安装导出 – 厨师将是更好部署的理想select。
你可以做到这一点,就像你正在处理一个正常的厨师实施。 如果你创build了一个包装食谱,并且在你的食谱的metadata.rb中添加了一个对NFS食谱的依赖, nfs_export资源就可以在你的包装食谱的默认配方中使用。
要从Git存储库添加自定义配方到OpsWorks堆栈,您需要configuration堆栈以便在以下位置提供菜谱: http ://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-enable 。 HTML
所以,例如,你创build一个具有以下结构的git仓库:
cookbooks -> freshmelon-nfs --> metadata.rb |-> recipes -> default.rb
所以这是您的资源库中的cookbooks文件夹,您可以在其中为每个自定义食谱添加一个文件夹。 烹饪书的裸骨格布局是在您的自定义食谱(本例中是freshmelon-nfs)中的metadata.rb ,它描述了食谱和食谱文件夹,每个食谱包含一个ruby文件,默认名为default.rb 。
作为一个例子metadata.rb
name 'afreshmelon-nfs' maintainer 'Your Name' maintainer_email 'your@email' license 'MIT' description 'NFS Wrapper' long_description 'Configures NFS for aFreshMelon' version '0.1' depends 'nfs'
一个例子是default.rb
nfs_export "/exports" do network '10.0.0.0/8' writeable false sync true options ['no_root_squash'] end
然后,您可以在您的生命周期(安装,configuration,安装)事件中调用您的OpsWorks堆栈的层configuration中的afreshmelon-nfs :: default。
您也可以在您的食谱文件夹中创build一个client.rb文件夹,您可以在您的客户端的打包程序configuration文件中包含该文件夹,以装载导出文件。
mount "/mnt/nfs" do device "yourserver:/exports" fstype "nfs" options "rw" action [:mount, :enable] end
这会将NFS挂载添加到您的fstab中,并将在其他文件系统上一起挂载。