Puppet: gerenciando (muitos) o Apache VirtualHosts

9

Estou aprendendo o meu caminho através do gerenciamento de configurações em geral e usando o fantoche para implementá-lo em particular. Eu já fiz alguma pesquisa genérica ( também no SF ) e direita agora estou considerando o Apache VirtualHosts.

Hospedamos muitos sites LAMP (atualmente, na faixa das centenas) em dois sistemas: um Apache2 / mod_php um e um MySQL um - basicamente o oposto de outra pergunta já no SF onde ele gerencia muitos servidores com poucos vhosts cada (se não um, eu não sei). Eu ainda não coloquei uma configuração de trabalho no fantoche, mas não deve ser um problema, existem muitos exemplos e receitas por aí.

Além dos óbvios arquivos de configuração do apache (não há problema aqui, eu acho) cada vhost precisaria ter alguns diretórios criados e permissões verificadas (por exemplo, um diretório raiz para cada vhost contendo um documentroot, um diretório tmp dedicado , um diretório de arquivos dedicado da sessão php, possivelmente certificados SSL, e assim por diante) no servidor web, e um usuário + um ou mais bancos de dados no servidor MySQL.

Adicionar um novo vhost exigiria um fantoche para criá-lo, removendo um que exigiria um fantoche para executar algum script que faça backup dos dados do usuário e, em seguida, remova os dados dos dois servidores, mas também cada um deles a existência dos diretórios, o db, permissões, etc.

Estou perguntando por problemas ao subir centenas de hosts virtuais com todas as verificações sendo executadas em todas as execuções de fantoches, especialmente as do sistema de arquivos (no servidor da Web), e especialmente quando no futuro os sistemas serão carregados mais? (digamos que segmentamos a faixa de sites de 1000 a 2000 como um máximo razoável por servidor).

Existe alguma experiência em fazer isso por aí na net? Eu pesquisei mas não encontrei nada, também porque há uma baixa relação sinal / ruído ao procurar por "puppet" e "apache" ...

    
por Luke404 10.08.2012 / 13:52

1 resposta

4

Eu suspeito que gerenciar muitos hosts virtuais do apache não seja um problema, mas não posso dizer com certeza. O desempenho aceitável é definido por suas necessidades de negócios. Só você pode decidir se é rápido o suficiente. Este é um tópico decente sobre como reduzir a carga da CPU: link

Para resumir o tópico:

  • Aumenta o atraso entre as execuções dos agentes fantoches
  • não marque o fantoche e só use o chute de fantoche ou o coletivo para acionar execuções
  • agendar as alterações do Apache para acontecer apenas em determinados momentos.
  • usa dois ambientes diferentes (manutenção e produção) para gerenciar as coisas. Mantenha a produção leve e use a manutenção para fazer alterações.

Aqui está um exemplo de como gerenciar um host virtual do Apache no site da PuppetLabs: link

Configurar e remover a configuração não deve ser um problema. O maior problema seria a remoção de arquivos de dados para os aplicativos / sites da web. Para isso, recomendo o armazenamento compartilhado, como o NFS / AFS. Se você não estiver usando o armazenamento compartilhado, certifique-se de que os dados gerados pelo usuário permaneçam intactos, com backup ou migrados para o novo servidor.

Suspeito que você esteja em uma situação de hospedagem em massa, como uma empresa de hospedagem, por isso recomendo que os nomes dos sites individuais não sejam codificados em seu manifesto de fantoches. Para isso, recomendo usar o Hiera < link . Hiera permite que você use uma maneira separada para armazenar a lista de host virtual para mapeamentos de servidores reais. Você pode usar arquivos simples ou um banco de dados com o Hiera. Infelizmente, eu não conheço o Hiera o suficiente para guiá-lo em como configurar a estrutura de dados Hiera de vários níveis que você pode precisar, mas eu posso pelo menos apontá-lo na direção geral do Hiera.

    
por 13.08.2012 / 16:02