summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nodo.mdwn100
1 files changed, 84 insertions, 16 deletions
diff --git a/nodo.mdwn b/nodo.mdwn
index 66e09c7..fa49180 100644
--- a/nodo.mdwn
+++ b/nodo.mdwn
@@ -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.