Puppet VS Ansible + qual é a melhor ferramenta de tarefa remota automática [fechada]

4

existem muitas ferramentas remotas para tarefas de automação como fantoche ou ansible

minha meta é realizar muitas tarefas remotas na máquina Linux como:

  1. bloco de execução do comando do Linux,

  2. copie arquivos da máquina master para máquinas Linux remotas

  3. execute o script na máquina Linux remota

e assim por diante

    
por maihabunash 16.08.2015 / 14:26

1 resposta

8

Automação e controle remoto são casos de uso bastante diferentes. A coisa a considerar ao selecionar ferramentas como essa é a rapidez com que você precisa que toda a sua população de máquinas atinja o mesmo estado e com que rapidez você planeja alterar o conjunto de comandos.

Os sistemas Puppet e Chef (e provavelmente os outros do Configuration Management) são:

  • Ligeiramente Convergente . Pode levar meia hora até que tudo seja atualizado. Às vezes tudo bem. Às vezes isso não é muito.
  • Não lide bem com comandos ad-hoc . Se você precisar executar um git-pull em um determinado diretório agora , isso requer um grande esforço.
  • Métodos robustos para determinar programaticamente tipos de máquinas . Isso facilita o problema "o que precisa de quê".
  • Em grande parte baseado em agente . Os nós fazem o polling do sistema central para atualizações, em vez de o sistema central despachar atualizações em um agendamento. Esta é uma grande parte da coisa 'consistência solta'.

Ansible e outros sistemas não-agentados:

  • Permitir comandos ad-hoc como recurso principal . Precisa executar apt-get update openssl em tudo? Fácil!
  • Permitir uma convergência mais estreita . Você pode fazer os dois fazer dentro de 30 minutos e também fazer tudo certo agora mesmo em tudo .
  • Geralmente, precisam de processos de gerenciamento de inventário . Onde algo como fantoche pode ser feito para fazer coisas como implantar nginx em máquinas com RAMSIZE > = 2048GB e ele funcionará para qualquer sistema, Ansible e afins precisam ser informados que este sistema precisa de nginx . Isso complica o problema que precisa de quê.

Eu não vou entrar em escalabilidade, já que todos eles podem lidar com milhares de nós facilmente. As coisas ficam diferentes quando você entra nos 10.000 nós.

Eu conheço sistemas implantados que usam um sistema tipo Puppet / Chef, além do Ansible. O Puppet / Chef é usado para manter uma configuração de linha de base no sistema, e o sistema ansible é usado para comandar remotamente e para tarefas que exigem consistência muito mais rígida (como para implantações de código de aplicativo). Às vezes é melhor ambos.

    
por 16.08.2015 / 14:50