diff options
-rw-r--r-- | nodo.mdwn | 100 |
1 files changed, 84 insertions, 16 deletions
@@ -3,48 +3,116 @@ Adicionando um nodo =================== +Procedimento para adicionar um novo nodo à infraestrutura. + +Assumindo +--------- + +Neste exemplo, assumiremos os seguites parâmetros: + + new=novo-host # hostname do novo nodo + hydra=nome-do-grupo # nome da hydra + domain="`hydra $hydra config domain`" # dominio do projeto + +Ainda: + +* `admin@box$`: indica prompt da máquina do/a administrador. +* `root@nodo$`: indica o prompt do novo nodo. +* `root@master$`: indica o prompt do master. + +Configuração de DNS +------------------- + +O primeiro passo é criar uma entrade de DNS para o novo nodo. Use uma das +seguintes configurações na interface de atualização de DNS, substituindo +`$new`, `$ip` ou `example.org` pelos valores apropriados. + +No caso de um registro `A`: + + $new 3600 IN A $ip + +No caso de um `CNAME`: + + $new 3600 IN CNAME example.org. + +Provisionamento +--------------- + +Esta consiste na criação do nodo -- máquina virtual ou servidor físico, podendo ser feita de dois modos: + +* Via puppet na própria infraestrutura da `$hydra`. + * No caso de um servidor físico, proceda [apropriadamente](/install). + * No caso de uma máquina virtual, defina-a no manifest do puppet da máquina + hospedeira usando o padrão de virtualização desejado. +* Solicitando a um coletivo hospedeiro altamente confiável. + +Definição do nodo +----------------- + +Definição básica do nodo: + + admin@box$ hydra $hydra newnode $new # cria definicoes minimas para o nodo + admin@box$ hydra $hydra newkeys # criar as chaves necessarias para o nodo + +Após esses comandos, é preciso editar o arquivo `puppet/hiera/production/domain/$domain/$new.$domain.yaml` +e ajustar configurações básicas de chaves, senhas, etc. + +Em seguida, submeta as mudanças para o repositório: + + admin@box$ cd `hydra $hydra folder` + admin@box$ git commit -a -m "Adicionando nodo $new" + Configurando o puppet --------------------- Instale o pacote: - apt-get install puppet + root@nodo$ apt-get install puppet Lembre-se de iniciar o `puppet agent` pela primeira vez através de um comando do tipo - puppet agent --server puppet.`facter domain` --pluginsync true --waitforcert 60 --digest-sha1 --test + root@nodo$ puppet agent --server puppet.`facter domain` --pluginsync true --waitforcert 60 --digest-sha1 --test No caso de uma porta fora do padrão, use o parâmetro `--masterport`. Em seguida, verifique se os fingerprints dos certificados (master e nodo) coincidem. No master: - puppet cert list --digest sha1 | grep camada.projeto.org + root@master$ puppet cert list --digest sha1 | grep camada.projeto.org Caso os fingerprints batam, basta liberar o novo nodo a partir do host em que roda o master como o comando - puppet cert sign camada.projeto.org + root@master$ puppet cert sign camada.projeto.org Assista as mudanças nos arquivos de log (`/var/log/daemon.log` ou `/var/log/syslog`): - tail -F /var/log/daemon.log /var/log/syslog + root@nodo$ tail -F /var/log/daemon.log /var/log/syslog Mais detalhes [aqui](http://projects.puppetlabs.com/projects/1/wiki/certificates_and_security) sobre certificados e segurança. Deploy da Hydra Suite --------------------- - hydra $projeto deploy camada.projeto.org +Faça o deploy da hidra suite no novo nodo: -Chaves e backups + admin@box$ hydra $projeto deploy camada.projeto.org + +Chaves de backup ---------------- - hydra $projeto newkeys - hydra $projeto import-key camada.projeto.org +Envie a chave OpenPGP gerada para backups no novo nodo: + + admin@box$ hydra $projeto import-key camada.projeto.org + +Fingerprints e Monkeysphere +--------------------------- + +Verifique os fingerprints do SSH e do puppet: + + root@nodo$ hydractl ssh-finger + root@nodo$ hydractl puppet-finger + +Opcionalmente, proceda com a [configuração das chaves de serviço do monkeysphere](http://web.monkeysphere.info/doc/host-keys/). -Outras etapas -------------- +Inscrição em lista de mensagens +------------------------------- -* Fingerprints SSH -* Chaves e backups -* Inscrição do nodo em lista de mensagens do sistema -* Hydra import-key -* Adicionar entrada de DNS +Caso o alias de email para `root` esteja configurado para o endereço de uma lista de discussão privada de email (o que permite um grupo de administradores/as monitorarem mensagens de sistema), certifique-se de configurar os endereços de `root@camada.projeto.org` e demais endereços como assinantes da lista no modo `no mail` (sem recebimento). Assim, eles poderão enviar mensagens mas não receberão nenhuma mensagem da lista. |