From 07d75df75ada34ef4b7de9cb07770b19251520f1 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sun, 1 Oct 2017 17:21:16 -0300 Subject: Change markdown extension to .md --- nodo.mdwn | 157 -------------------------------------------------------------- 1 file changed, 157 deletions(-) delete mode 100644 nodo.mdwn (limited to 'nodo.mdwn') diff --git a/nodo.mdwn b/nodo.mdwn deleted file mode 100644 index 5f1e289..0000000 --- a/nodo.mdwn +++ /dev/null @@ -1,157 +0,0 @@ -[[!toc levels=4]] - -Adicionando um nodo -=================== - -Procedimento para adicionar um novo nodo à infraestrutura. - -Assumindo ---------- - -Neste exemplo, assumiremos os seguites parâmetros: - - node=novo-host # hostname do novo nodo - hydra=nome-do-grupo # nome da hydra - domain="example.org" # dominio do projeto - -Ainda: - -* `admin@box$`: indica shell da máquina do/a administrador. -* `root@nodo#`: indica o shell do novo nodo. -* `root@master#`: indica o shell do master. - -Certifique-se de configurar os parâmetros acima em cada um dos shells mencionados. - -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 -`$node`, `$ip` ou `$domain` pelos valores apropriados. - -No caso de um registro `A`: - - $node 3600 IN A $ip - -No caso de um `CNAME`: - - $node 3600 IN CNAME $domain. - -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. - -No caso de uma máquina virtual hospedada numa máquina física do grupo, considere a [faixa de alocação](allocation) de IPS. - -Definição do nodo ------------------ - -Definição básica do nodo: - - admin@box$ hydra $hydra newnode $node # cria definicoes minimas para o nodo - admin@box$ hydra $hydra newkeys $node # criar as chaves necessarias para o nodo - -Após esses comandos, é preciso editar o arquivo `puppet/hiera/production/domain/$domain/$node.$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`/puppet - admin@box$ git commit -a -m "Adicionando nodo $node" && git push - -Chaves ------- - -Envie a chaves geradas para o novo nodo: - - admin@box$ hydra $hydra import-keys $node.$domain - -No caso de chaves para conexões TLS, envie-as juntamente com o certificado de cada domínio: - - admin@box$ hydra $hydra import-certs $node.$domain [certs] - -Configurando o puppet ---------------------- - -Instale o pacote: - - root@nodo# apt-get install puppet - -Certifique-se então que os seguintes valores correspondem a `$node.$domain`: - - root@nodo# facter fqdn - -Lembre-se de iniciar o `puppet agent` pela primeira vez através de um comando do tipo - - root@nodo# puppet agent --server puppet.`facter domain` --pluginsync true --waitforcert 60 --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: - - root@master# puppet cert list | grep $node.$domain - -Caso os fingerprints batam, basta liberar o novo nodo a partir do host em que roda o master como o comando - - root@master# puppet cert sign $node.$domain - -Assista as mudanças nos arquivos de log (`/var/log/daemon.log` ou `/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 ---------------------- - -Faça a instalação da hidra suite no novo nodo: - - admin@box$ hydra $hydra install $node.$domain - -Fingerprints e Monkeysphere ---------------------------- - -Verifique os fingerprints do SSH e do puppet: - - root@nodo# hydractl ssh-finger - root@nodo# hydractl puppet-finger - root@master# hydractl puppet-finger - -Opcionalmente, proceda com a [configuração das chaves de serviço do monkeysphere](http://web.monkeysphere.info/doc/host-keys). - -Inscrição em lista de mensagens -------------------------------- - -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@$node.$domain` 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. - -Retirando um nodo -================= - -Para descomissionar um nodo, proceda na máquina administrativa: - - admin@box$ hydra $hydra sync - admin@box$ cd hydra $hydra folder - admin@box$ find -name "$node*" -exec rm {} \; - admin@box$ $EDITOR manifests/nodes.pp # remova a linha de inclusao do nodo - admin@box$ git status # revisao - admin@box$ git commit -a -m "Descomissionando $node" - admin@box$ git push - -Em seguida, no nodo master: - - root@master# puppet cert clean $node.$domain - root@master# hydractl puppet-clean-stored $node.domain - -Por fim: - -* Checar backups remoto do nodo, caso se queira recuperar algum dado no futuro! -* Apagar entradas DNS. -* Chaves no keyringer não precisam ser movidas necessariamente, pois podem ser úteis para acesso dos backups. -* Limpar página de fingerprints. -* Revogar chaves (OpenPGP, SSL), quando cabível. -- cgit v1.2.3