Como usar o LWRP no AWS OpsWorks?

1

Ohai,

Existe uma maneira de usar o LWRP para Chef no AWS OpsWorks? Como mais eu poderia executar isso:

nfs_export "/exports" do
  network '10.0.0.0/8'
  writeable false 
  sync true
  options ['no_root_squash']
end

Este é o livro de receitas de:

link

Eu gostaria de adicionar uma exportação, mas não posso gostar disso. Além disso, gostaria de criar uma entrada rc.local para montar as exportações nos nós - com o chef seria ideal para uma melhor implantação.

    
por aFreshMelon 19.09.2014 / 01:55

1 resposta

2

Você pode fazer isso exatamente como faria se estivesse lidando com uma implementação normal do Chef. Se você criar um livro de receitas wrapper e adicionar uma dependência no livro de receitas NFS nos metadados.rb do seu livro de receitas, o recurso nfs_export estará disponível para uso na receita padrão do livro de receitas do wrapper.

Para adicionar receitas personalizadas de um repositório Git a uma pilha de OpsWorks, você precisa configurar a pilha para colocar os livros de receitas em: link

Então, por exemplo, você cria um repositório git com a seguinte estrutura:

cookbooks -> freshmelon-nfs --> metadata.rb |-> recipes -> default.rb

Então, essa é uma pasta de livros de receitas no seu repositório, onde você adiciona uma pasta para cada livro de receitas personalizado. O layout básico para um livro de receitas é um metadata.rb em seu livro de receitas personalizado (freshmelon-nfs neste exemplo) que descreve o livro de receitas e uma pasta de receitas, que contém um arquivo rubi para cada receita, o padrão é chamado default.rb .

Como exemplo, 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'

Um exemplo default.rb

nfs_export "/exports" do network '10.0.0.0/8' writeable false sync true options ['no_root_squash'] end

Em seguida, você pode chamar afreshmelon-nfs :: default em seus eventos de ciclo de vida (Setup, Configure, Install) na configuração Layer de sua pilha de OpsWorks.

Você também pode criar um client.rb na sua pasta de receitas, que você pode incluir na configuração de layers para seus clientes, para montar a exportação.

mount "/mnt/nfs" do device "yourserver:/exports" fstype "nfs" options "rw" action [:mount, :enable] end

Isso adicionará a montagem do NFS ao seu fstab, e ela será montada na inicialização junto com outros sistemas de arquivos.

    
por 08.10.2014 / 23:45