Eu odeio esse tipo de ambiente sem confiança, mas eu entendo; Você tem que lidar com os requisitos biz ...
Você pode contornar o problema de manter os livros de receitas em sincronia com um pipeline de IC / CD para seus livros de culinária, de modo que eles sejam implantados automaticamente nos dois servidores Chef. Você gostaria de aproveitar coisas como o livro de receitas que fixa extensivamente, mas disponibilizar atualizações (mesmo que elas não sejam usadas ativamente) não é problemático. O Sous-Chef é uma ferramenta da qual a minha empresa tem um código-fonte aberto para ajudar as pessoas a começarem a automatizar o teste de livros de receitas e o upload para um Chef Server. Ele teria que ser modificado para atender um caso de vários Chef Servers, mas a maioria está lá.
Como o Chef12 possui os dois recursos para "Organizações" e "Controle de Acesso Baseado em Funções" (RBAC), cada um dos quais costumava estar disponível apenas no produto pago, você poderia estabelecer permissões de modo que apenas as pessoas especificadas pudessem modificar Ambiente de produção, ou que a Produção era uma organização separada dentro do mesmo servidor Chef.
A adição de novos nós ao servidor Prod Chef requer algum tipo de bootstrapping. Os detalhes variam muito, dependendo do seu ambiente, mas com o instalador local para esse ambiente, você pode defini-lo como um trabalho de execução única quando fizer o kickstart ou implantar a partir de um modelo de VM. Se você tem ferramentas girando em torno de VMs via API, não deve ser muito ruim estendê-lo para adicionar os comandos de bootstrapping. (Chef é, afinal, um sistema orientado por API.)
Sua pergunta sobre as referências de dados é muito ampla aqui.
Lembre-se de que ter vários chef-servers requererão knife
configs separadas, portanto você terá que lembrar de passar um flag de configuração para cada um ou agrupar comandos para knife
associando um arquivo de configuração. A menos que você tenha automação suficiente para nunca precisar de knife
.
Chef-Zero
destina-se a testes locais em que você usaria Chef-Solo
, mas deseja pesquisar. Não faz muito sentido gerenciar suas caixas de produtos.
Algumas empresas usam Chef-Solo
para seus ambientes sem testes de maneira "executada conforme a necessidade". Pessoalmente, não gosto disso. Eu gosto de Solo
para testes locais (como no Vagrant), ou se você está configurando sistemas com a intenção de serem imutáveis. Se você vai ter servidores de longa duração (em grande parte sem estado e demolidos com frequência, o padrão Chef-Server ajudará você a evitar que as configurações se desviem com o tempo.