Puppet é usado para gerenciamento de configuração, e sobre atualizações de software etc?

6

Eu entendo como o boneco ajuda os servidores de configuração, etc., mas você usaria o fantoche para algo como:

apt-get update && apt-get upgrade

Tenho a sensação de que a resposta é não, se esse é o caso, que tipo de processo automatizado você sugeriria para realizar esse tipo de tarefa?

Digamos que eu esteja configurando uma nova instância (agente) para conectar ao fantoche, como eu poderia agrupar vários comandos que eu quero executar no servidor apenas para prepará-lo antes de conectar ao mestre de marionetes? Eu estou esperando que eu possa apenas escrever todos os comandos em um arquivo, e então de alguma forma executar este arquivo.

Para coisas como:

  1. apt-get update & & apt-get upgrade
  2. instale o ruby, outras libs
  3. bloqueios básicos do servidor, etc.
por Blankman 18.05.2011 / 21:29

3 respostas

6

Bem, para o APT em particular, você pode configurar várias tarefas diárias, como atualização. Basta olhar para /etc/cron.daily/apt para uma lista de variáveis que você pode configurar e verificar a página de manual para apt.conf para saber como fazer isso. Os mais interessantes para você são estes:

#  APT::Periodic::Update-Package-Lists "0";
#  - Do "apt-get update" automatically every n-days (0=disable)
#    
#  APT::Periodic::Download-Upgradeable-Packages "0";
#  - Do "apt-get upgrade --download-only" every n-days (0=disable)
#
#  APT::Periodic::Download-Upgradeable-Packages-Debdelta "1";
#  - Use debdelta-upgrade to download updates if available (0=disable)
#
#  APT::Periodic::Unattended-Upgrade "0";
#  - Run the "unattended-upgrade" security upgrade script 
#    every n-days (0=disabled)
#    Requires the package "unattended-upgrades" and will write
#    a log in /var/log/unattended-upgrades

Quanto à atualização do sistema, use o pacote unattended-upgrades .

Tendo dito tudo isso, eu prefiro usar o Puppet para controlar quais pacotes devem ser mantidos em ensure => latest , ou ensure => version , assim como controlar números de pinos para várias listas de fontes e pacotes.

E, suponho, um poderia usar uma configuração como esta:

cron { 'upgrade': command => 'apt-get update && apt-get upgrade' }

Agora, você menciona fazer coisas antes de chamar um agente de marionetes. Você quer dizer antes de executar o agente de marionetes pela primeira vez? Se sim, então uma solução como Foreman pode fazer o truque para você.

Aqui, onde gerencio meus hosts virtuais através do Ganeti, temos o fantoche sendo instalado pelo instance-debootstrap da Ganeti. Também temos um pequeno script que usamos para instalar o fantoche em servidores mais antigos.

No final, não é possível usar uma solução automatizada para instalar o Puppet em servidores existentes, a menos que a solução automatizada já tenha sido instalada. Nossa preferência é instalar o boneco primeiro e distribuir qualquer outra coisa através dele.

    
por 18.05.2011 / 22:33
2

Eu sempre usei o cron-apt para atualizações automatizadas desacompanhadas. É um pouco desajeitado para configurar, mas uma vez configurado, funciona bem. Se você o emparelhar com o sSMTP, poderá receber atualizações automáticas e / ou notificações por e-mail.

Na sua situação, você pode usar o Puppet para controlar os arquivos de configuração do cron-apt, sSMTP e crontab.

Aqui está minha configuração padrão ... ajuste conforme apropriado.

    
por 18.05.2011 / 23:30
1

O Puppet usa uma linguagem declarativa na qual você especifica como as coisas deveriam estar de acordo com a configuração desejada, e você deixa o método usado para conseguir isso até o fantoche para resolver. Como tal, não é incrivelmente adequado para executar comandos arbitrários de tempos em tempos.

É fácil pedir ao fantoche para garantir que um pacote seja instalado, mas para atualizações regulares, eu recomendo que você tenha um fantoche adicionando uma linha ao cron do root para fazer $ apt-get update && apt-get upgrade periodicamente. Se você quer ter um controle refinado sobre quais pacotes são aplicados, então você pode procurar executar seu próprio repositório apt.

    
por 18.05.2011 / 22:32