Controle de versão dos nós chefes e funções

4

É uma boa prática controlar os nós e funções ao usar o chef? Se sim, qual é uma boa maneira de fazer isso?

Parece que é possível ter uma árvore de arquivos JSON criada usando chef_server_backup.rb e simplesmente verificá-la no VC. Existem alternativas melhores?

Atualizar

Acontece que verificar no JSON produzido por chef_server_backup.rb é não uma boa solução. O problema é que o JSON produzido pelo script não é estável. Cada vez que os hashes saem em uma ordem diferente e os arquivos resultantes são totalmente diferentes das versões anteriores ... mesmo que eles signifiquem a mesma coisa quando analisados como JSON. Eu seria melhor apenas salvar tarballs de compactação.

(Mas se eu puder canonizar os arquivos JSON solicitando os atributos ...)

    
por Stephen C 20.09.2012 / 01:45

1 resposta

4

Eu tento manter o máximo possível da minha configuração como arquivos JSON e atualizo o chef-server com knife [noun] from file name.json . Comecei com o repositório no link e mantenho todos os arquivos JSON nos diretórios apropriados. Você pode fazer o mesmo com arquivos YAML ou Ruby também. Use o comando show , como knife role show apache2 -Fj > roles/apache2.json , para criar arquivos a partir de dados já existentes em um chef-server.

Alguns dos benefícios de uma abordagem baseada em "do arquivo" são:

  • Relativamente fácil mover-se entre o Hosted Chef e o Private Chef
  • Você pode testar com o chef-solo usando arquivos de função existentes, itens de data_bags, etc.
  • Rastreie deltas entre alterações por meio de git diff e veja o histórico de mais do que apenas versões de livro de receitas
  • Redundância de dados: se seu servidor do Private Chef ou Hosted Chef não estiver disponível, você ainda terá toda a configuração da sua infraestrutura

A única coisa que não está em opscode / chef-repo são os arquivos de nó. Você também pode exportar / importar nós de arquivos, mas geralmente não é recomendado porque os nós devem ser descartáveis. Eu gosto de como Nathen Harvey disse uma vez: "pense nos nós como gado, não como animais de estimação".

    
por 03.04.2013 / 03:17