Как использовать LWRP в AWS OpsWorks?
Ohai,
Есть ли способ использовать LWRP для Chef на AWS OpsWorks? Как еще мне выполнить это:
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
Я хотел бы добавить экспорт, но мне это не нравится. Кроме того, я хотел бы создать запись rc.local для монтирования экспорта на узлах - с chef было бы идеально для лучшего развертывания.
1 ответ
Вы можете сделать это точно так же, как если бы вы имели дело с обычной реализацией Chef. Если вы создаете кулинарную книгу-обертку и добавляете зависимость от кулинарной книги NFS в metadata.rb вашей кулинарной книги, nfs_export
ресурс будет доступен для использования в рецепте вашей кулинарной книги по умолчанию.
Чтобы добавить пользовательские рецепты из репозитория Git в стек OpsWorks, вам необходимо сконфигурировать стек для загрузки кулинарных книг по адресу: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-enable.html
Так, например, вы создаете репозиторий git со следующей структурой:
cookbooks -> freshmelon-nfs --> metadata.rb
|-> recipes -> default.rb
Так что это папка поваренных книг в вашем хранилище, куда вы добавляете папку для каждой пользовательской поваренной книги. Голая раскладка для кулинарной книги metadata.rb
в вашей пользовательской кулинарной книге (в этом примере freshmelon-nfs), которая описывает кулинарную книгу, и папку с рецептами, которая содержит один рубиновый файл для каждого рецепта, значение по умолчанию называется 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
Затем вы можете вызвать afreshmelon-nfs::default в событиях вашего жизненного цикла (Setup, Configure, Install) в конфигурации Layer вашего стека OpsWorks.
Вы также можете создать client.rb
в папке рецептов, которую вы можете включить в конфигурацию Layer для ваших клиентов, чтобы смонтировать экспорт.
mount "/mnt/nfs" do
device "yourserver:/exports"
fstype "nfs"
options "rw"
action [:mount, :enable]
end
Это добавит монтирование NFS к вашему fstab и будет монтироваться при загрузке вместе с другими файловыми системами.