Visão geral
De algumas maneiras, você tem duas perguntas aqui ...
- Como faço para criar e manter servidores padrão?
- Como faço para manter a configuração padrão e fazer alterações mais tarde?
Eu dividi minha resposta abaixo abordando essas duas coisas separadamente, mas elas estão intimamente relacionadas. Estou abordando as soluções de tecnologia aqui e não as melhores práticas relacionadas, como o controle de alterações.
Se isso não cobrir o escopo da sua pergunta, esclareça e ficaremos felizes em elaborar. Essa é a base necessária, que é essencial para uma infraestrutura de tecnologia bem gerida.
Construindo Servidores
Eu não gosto de imagens no mundo do UNIX; isso é mais uma abordagem de estilo do Windows. Até mesmo algumas pessoas do Windows parecem estar se concentrando em scripts para compilações padrão agora.
O satélite parece estar ficando um pouco popular no mundo do RHEL. O passeio espacial é a contraparte do Open Source. Você definitivamente tem que comprar na abordagem do RHEL inteiramente para usar isso. Isso serve como gerenciamento de configuração e construção de servidor.
Idealmente, você desejaria estabelecer espelhos e repositórios locais em um servidor de arquivos para todo o software necessário.
Primeiro, tire proveito de sua automação de construção de distribuição, como o Kickstart no RHEL / CentOS. O Kickstart seria uma linha de base com variações, dependendo de suas necessidades. As construções do Kickstart podem ser iniciadas em um servidor PXE.
Para a parte mais avançada da compilação e qualquer coisa que não fosse adequada para um arquivo do Kickstart, você poderia escrever seus próprios scripts personalizados. No entanto, você pode encontrar fantoche ou cfengine funciona bem para você, em vez de scripts personalizados. Eu descobri que os scripts personalizados são os mais flexíveis e não estão limitados a nenhuma abordagem única.
Se você optar por escrever seus próprios scripts, recomendo um script principal para configuração universal. Isso seria configuração de segurança, proteção e tudo o que se aplica a todas as compilações. Em seguida, um script final para finalizar a função do servidor. Por exemplo, um servidor da web ou um servidor de banco de dados.
Mantendo Padrões
O que você descreve também se enquadra nas configurações de manutenção. Crie padrões, atualizações de software e outras coisas relacionadas a construções, mas de várias maneiras separadas.
Se você optar por confiar nos pacotes do sistema, em vez de criar suas próprias construções baseadas em origem para as funções de servidor mais importantes, muito disso pode ser mantido com utilitários nativos do sistema. Isso pode ser um script simples para executar um loop for
em sua lista de servidores e executar um yum -y update package
.
Para o gerenciamento de configuração, é onde entram os utilitários puppet, cfengine e outros gerenciamento de configuração . Esses são utilitários muito úteis e fornecem a base necessária sem escrever seus próprios scripts do zero.
Quando você atualiza seus padrões de configuração para seus servidores, é importante fazer isso em suas compilações de servidor padrão.