Recuperação de desastre

A recuperação de desastre dessa estrutura consiste em seguir os passos desse tutorial a partir da criação das máquinas virtuais.

Caso não seja necessário reinstalar o SO, os passos são os seguintes:

  1. Remover o cluster kubernetes:
./rke remove
  1. Executar os seguintes comandos em cada nó:
sudo docker stop $(docker ps -a -q)
sudo docker rm $(docker ps -a -q)
sudo docker volume prune
sudo rm -rf /var/lib/rook

Reestabelecer o cluster Kubernetes e os serviços

Quando já possua acesso via ssh (ssh rancher@nodenuvemX) a todos os nós, pode-se executar o comando para criar/atualizar o cluster (de posse do arquivo cluster.yml):

./rke up --config cluster.yml

Baseado nas configurações oficiais de Backups and Disaster Recovery e Creating Backups—High Availability Installs foi configurado o serviço de instantâneos (snapshots) recorrentes do etcd no cluster.yml. Os instantâneos são sincronizados diariamente no servidor de monitoramento/backup em /backup/etcd_kubernetes e gravados em fita.

Para fazer a recuperação do backup deve-se utilizar os passos descritps em Restoring Backups—High Availability Installs.

Caso não seja possível a opção acima

  1. Clonar o repositório dos serviços: https://github.com/ctic-sje-ifsc/servicos_kubernetes
git clone https://github.com/ctic-sje-ifsc/servicos_kubernetes
  1. Criar todos os namespaces:
cd servicos_kubernetes/namespaces
kubectl create -f namespaces.yaml
  1. Baixar os arquivos de secrets do GitLab (acesso restrito) e criá-los com o comando:
make -i create
  1. Acessar a pasta dos serviços e iniciar tudo:
cd servicos_kubernetes
make -i create