Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Fazendo backup de um cluster

Na interface do Rancher, o backup e a recuperação do etcd para clusters Kubernetes lançados pelo Rancher podem ser facilmente realizados.

O Rancher recomenda configurar etcd instantâneos recorrentes para todos os clusters de produção. Além disso, instantâneos únicos também podem ser feitos.

Instantâneos do banco de dados etcd são feitos e salvos localmente nos nós etcd ou em um destino compatível com S3. As vantagens de configurar o S3 são que, se todos os nós etcd forem perdidos, seu instantâneo é salvo remotamente e pode ser usado para restaurar o cluster.

Como os instantâneos funcionam

Componentes do Instantâneo

  • RKE

  • RKE2/K3s

Quando o Rancher cria um instantâneo, ele inclui três componentes:

  • Os dados do cluster no etcd

  • A versão do Kubernetes

  • A configuração do cluster na forma de cluster.yml

Como a versão do Kubernetes agora está incluída no instantâneo, é possível restaurar um cluster para uma versão anterior do Kubernetes.

O Rancher delega a criação de instantâneos ao mecanismo Kubernetes downstream. Quando o mecanismo Kubernetes cria um instantâneo, ele inclui três componentes:

  • Os dados do cluster no etcd

  • A versão do Kubernetes

  • A configuração do cluster

Como a versão do Kubernetes está incluída no instantâneo, é possível restaurar um cluster para uma versão anterior do Kubernetes enquanto também restaura um instantâneo do etcd.

Os múltiplos componentes do instantâneo permitem que você selecione entre as seguintes opções se precisar restaurar um cluster a partir de um instantâneo:

  • Restaurar apenas o conteúdo do etcd: Essa restauração é semelhante à restauração de instantâneos no Rancher antes da versão v2.4.0.

  • Restaurar etcd e versão do Kubernetes: Essa opção deve ser usada se uma atualização do Kubernetes for a razão pela qual seu cluster está falhando, e você não fez nenhuma alteração na configuração do cluster.

  • Restaurar etcd, versões do Kubernetes e configuração do cluster: Essa opção deve ser usada se você alterou tanto a versão do Kubernetes quanto a configuração do cluster ao fazer upgrade.

É sempre recomendado fazer um novo instantâneo antes de realizar quaisquer alterações de configuração ou upgrades.

Gerando o instantâneo a partir dos Nós etcd

  • RKE

  • RKE2/K3s

Para cada nó etcd no cluster, a saúde do cluster etcd é verificada. Se o nó relatar que o cluster etcd está saudável, um instantâneo é criado a partir dele e opcionalmente enviado para o S3.

O instantâneo é armazenado em /opt/rke/etcd-snapshots. Se o diretório estiver configurado nos nós como um ponto de montagem compartilhado, ele será sobrescrito. No S3, o instantâneo será sempre do último nó que o enviar, já que todos os nós etcd o enviam e o último permanecerá.

No caso de existirem múltiplos nós etcd, qualquer instantâneo criado é feito após a verificação da saúde do cluster, portanto pode ser considerado um instantâneo válido dos dados no cluster etcd.

Instantâneos são habilitados por padrão.

O diretório de instantâneos tem como padrão /var/lib/rancher/<RUNTIME>/server/db/snapshots, onde <RUNTIME> é rke2 ou k3s.

No RKE2, os instantâneos são armazenados em cada nó etcd. Se você tiver múltiplos nós etcd ou etcd + nós de controle, você terá várias cópias de instantâneos locais do etcd.

Convenções de Nomeação de Instantâneos

  • RKE

  • RKE2/K3s

O nome do instantâneo é gerado automaticamente. A opção --name pode ser usada para substituir o nome base do instantâneo ao criar instantâneos únicos com o RKE CLI.

Quando o Rancher cria um instantâneo de um cluster RKE, o nome do instantâneo é baseado no tipo (se o instantâneo é manual ou recorrente) e no destino (se o instantâneo é salvo localmente ou enviado para o S3). A convenção de nomenclatura é a seguinte:

  • m representa manual

  • r representa recorrente

  • l representa local

  • s representa S3

Alguns exemplos de nomes de snapshots são:

  • c-9dmxz-rl-8b2cx

  • c-9dmxz-ml-kr56m

  • c-9dmxz-ms-t6bjb

  • c-9dmxz-rs-8gxc8

O nome do instantâneo é gerado automaticamente. A opção --name pode ser usada para substituir o nome base do instantâneo ao criar instantâneos únicos com o RKE2 ou K3s CLI.

Quando o Rancher cria um instantâneo de um cluster RKE2 ou K3s, o nome do instantâneo é baseado no tipo (se o instantâneo é manual ou recorrente) e no destino (se o instantâneo é salvo localmente ou enviado para o S3). A convenção de nomenclatura é a seguinte:

<name>-<node>-<timestamp>

<name>: é o nome base definido por --name e pode ser um dos seguintes

  • etcd-snapshot é precedido em snapshots recorrentes

  • on-demand é precedido em snapshots manuais, sob demanda

<node>: Node é o nome do nó em que o instantâneo foi tirado.

<timestamp> é um carimbo de data/hora unix da data de criação do instantâneo.

Alguns exemplos de nomes de snapshots são:

  • on-demand-my-super-rancher-k8s-node1-1652288934

  • on-demand-my-super-rancher-k8s-node2-1652288936

  • etcd-snapshot-my-super-rancher-k8s-node1-1652289945

  • etcd-snapshot-my-super-rancher-k8s-node2-1652289948

Como Funciona a Restauração de um Instantâneo

  • RKE

  • RKE2/K3s

Na restauração, o seguinte processo é utilizado:

  1. O instantâneo é recuperado do S3, se o S3 estiver configurado.

  2. O instantâneo é descompactado (se estiver compactado).

  3. Um dos nós etcd no cluster fornece esse arquivo de instantâneo para os outros nós.

  4. Os outros nós etcd baixam o instantâneo e validam o checksum para que todos usem o mesmo instantâneo para a restauração.

  5. O cluster é restaurado e ações pós-restauração serão realizadas no cluster.

Na restauração, o Rancher entrega alguns conjuntos de planos para realizar uma restauração. Um conjunto de fases é utilizado, a saber:

  • Iniciado

  • Encerrar

  • Restaurar

  • ReiniciarCluster

  • Concluído

Se a restauração do instantâneo etcd falhar, a fase será definida como Failed.

  1. O pedido de restauração do instantâneo etcd é recebido e, dependendo de restoreRKEConfig, a configuração do cluster/a versão do Kubernetes são reconciliadas.

  2. A fase é definida como Started.

  3. A fase é definida como Shutdown, e todo o cluster é desligado usando planos que executam o script de distribuição killall.sh. Um novo nó inicial é eleito. Se o instantâneo que está sendo restaurado for um instantâneo local, o nó onde o instantâneo reside será selecionado como o nó inicial. Se o instantâneo está sendo restaurado do S3, o nó inicial existente será utilizado.

  4. A fase é definida como Restore, e o nó inicial tem o instantâneo restaurado nele.

  5. A fase é definida como RestartCluster, e o cluster é reiniciado/reintegrado ao novo nó inicial que possui as informações do instantâneo recém-restaurado.

  6. A fase é definida como Finished, e o cluster é considerado restaurado com sucesso. O cattle-cluster-agent irá reconectar, e o cluster finalizará a reconciliação.

Configurando Instantâneos Recorrentes

  • RKE

  • RKE2/K3s

Selecione com que frequência você deseja que os snapshots recorrentes sejam tirados, bem como quantos snapshots manter. A quantidade de tempo é medida em horas. Com instantâneos com timestamp, o usuário tem a capacidade de realizar uma recuperação em um ponto no tempo.

Por padrão, Clusters Kubernetes lançados pelo Rancher são configurados para tirar instantâneos recorrentes (salvos no disco local). Para proteger contra falhas no disco local, é aconselhável usar o S3 Target ou replicar o caminho no disco.

Durante a provisão do cluster ou edição do cluster, a configuração para snapshots pode ser encontrada na seção avançada para Opções do Cluster. Clique em Mostrar opções avançadas.

Na seção Opções Avançadas do Cluster, há várias opções disponíveis para configurar:

Opção Descrição Valor Padrão

Destino de Backup de Snapshot etcd

Selecione onde você deseja que os snapshots sejam salvos. As opções são locais ou no S3

local

Instantâneo etcd Recorrente Habilitado

Habilitar/Desabilitar instantâneos recorrentes

Sim

Período de Criação de Snapshot etcd Recorrente

Tempo em horas entre snapshots recorrentes

12 horas

Contagem de Retenção de Instantâneos Recorrentes do etcd

Número de instantâneos a serem mantidos

6

Defina a programação de como você deseja que os snapshots recorrentes sejam tirados, bem como quantos snapshots manter. A programação está no formato cron convencional. A política de retenção dita o número de instantâneos que correspondem a um nome a serem mantidos por nó.

Por padrão, Clusters Kubernetes lançados pelo Rancher são configurados para tirar instantâneos recorrentes (salvos no disco local) a cada 5 horas, começando à meia-noite. Para proteger contra falhas no disco local, é aconselhável usar o S3 Target ou replicar o caminho no disco.

Durante a provisão do cluster ou edição do cluster, a configuração para snapshots pode ser encontrada em Configuração do Cluster. Clique em etcd.

Opção Descrição Valor Padrão

Instantâneo etcd Recorrente Habilitado

Habilitar/Desabilitar instantâneos recorrentes

Sim

Período de Criação de Instantâneos Recorrentes do etcd

Cronograma de instantâneos recorrentes

0 */5 * * *

Contagem de Retenção de Instantâneos Recorrentes do etcd

Número de instantâneos a serem mantidos

5

Instantâneos Únicos

  • RKE

  • RKE2/K3s

Além de instantâneos recorrentes, você pode querer tirar um instantâneo "único". Por exemplo, antes de fazer upgrade da versão do Kubernetes de um cluster, é melhor fazer backup do estado do cluster para proteger contra falha no upgrade.

  1. No canto superior esquerdo, clique em ☰ > Gerenciamento de Cluster.

  2. Na página Clusters, navegue até o cluster onde você deseja tirar um instantâneo único.

  3. Clique em ⋮ > Tirar Instantâneo.

Além de instantâneos recorrentes, você pode querer tirar um instantâneo "único". Por exemplo, antes de fazer upgrade da versão do Kubernetes de um cluster, é melhor fazer backup do estado do cluster para proteger contra falha no upgrade.

  1. No canto superior esquerdo, clique em ☰ > Gerenciamento de Cluster.

  2. Na página Clusters, navegue até o cluster onde você deseja tirar um instantâneo único.

  3. Navegue até a aba Snapshots e clique em Snapshot Now

Como Funciona a Criação de Instantâneos Únicos

Na criação de um instantâneo único, o Rancher entrega alguns conjuntos de planos para realizar a criação do instantâneo. Um conjunto de fases é utilizado, a saber:

  • Iniciado

  • ReiniciarCluster

  • Concluído

Se a criação do instantâneo etcd falhar, a fase será definida como Failed.

  1. A solicitação de criação do instantâneo etcd foi recebida.

  2. A fase é definida como Started. Todos os nós etcd no cluster recebem um plano para criar um instantâneo etcd, de acordo com a configuração do cluster.

  3. A fase é definida como RestartCluster, e os planos em cada nó etcd são redefinidos para o plano original dos nós etcd.

  4. A fase é definida como Finished.

Resultado: Com base no seu destino de backup do instantâneo, um instantâneo único será tirado e salvo no destino de backup selecionado.

Destinos de Backup de Instantâneos

O Rancher suporta dois destinos de backup diferentes:

Destino de Backup Local

  • RKE

  • RKE2/K3s

Por padrão, o local destino de backup é selecionado. Os benefícios desta opção são que não há configuração externa. Os instantâneos são salvos automaticamente localmente nos nós etcd nos clusters Kubernetes lançados pelo Rancher em /opt/rke/etcd-snapshots. Todos os instantâneos recorrentes são tirados em intervalos configurados. A desvantagem de usar o local destino de backup é que, se ocorrer um desastre total e todos os nós etcd forem perdidos, não há capacidade de restaurar o cluster.

Por padrão, o local destino de backup é selecionado. Os benefícios desta opção são que não há configuração externa. Os instantâneos são salvos automaticamente localmente nos nós etcd nos clusters Kubernetes lançados pelo Rancher em /var/lib/rancher/<runtime>/server/db/snapshots, onde <runtime> é k3s ou rke2. Todos os instantâneos recorrentes são tirados de acordo com o agendamento do cron. A desvantagem de usar o local destino de backup é que, se ocorrer um desastre total e todos os nós etcd forem perdidos, não há capacidade de restaurar o cluster.

Destino de Backup S3

Recomendamos que você use o S3 destino de backup. Ele permite que você armazene instantâneos externamente, em um back end compatível com S3. Como os instantâneos não são armazenados localmente, você ainda pode restaurar o cluster mesmo que perca todos os nós etcd.

Embora o S3 destino ofereça vantagens sobre o backup local, ele requer configuração extra.

Se você usar um destino de backup S3, certifique-se de que cada cluster tenha seu próprio bucket ou pasta. O Rancher preenche as informações do instantâneo a partir de qualquer instantâneo disponível listado no bucket ou pasta S3 configurado para aquele cluster.

Opção Descrição Obrigatória

Nome do Bucket S3

Nome do bucket S3 para armazenar backups

*

Região S3

Região S3 para o bucket de backup

Endpoint da Região S3

Endpoint da região S3 para o bucket de backup

*

Chave de Acesso S3

Chave de acesso S3 com permissão para acessar o bucket de backup

*

Chave Secreta S3

Chave secreta S3 com permissão para acessar o bucket de backup

*

Certificado CA Personalizado

Um certificado personalizado usado para acessar back ends S3 privados

Usando um certificado CA personalizado para S3

O instantâneo de backup pode ser armazenado em um backup personalizado S3 como minio. Se o back end S3 usar um certificado autoassinado ou personalizado, forneça um certificado personalizado usando a opção Custom CA Certificate para se conectar ao back end S3.

Suporte IAM para Armazenar Instantâneos no S3

O S3 destino de backup suporta o uso de autenticação IAM para a API da AWS, além de usar credenciais da API. Um papel IAM concede permissões temporárias que um aplicativo pode usar ao fazer chamadas de API para o armazenamento S3. Para usar a autenticação IAM, os seguintes requisitos devem ser atendidos:

  • Os nós etcd do cluster devem ter um papel de instância que tenha acesso de leitura/gravação ao bucket de backup designado.

  • Os nós etcd do cluster devem ter acesso de rede ao endpoint S3 especificado.

  • Os nós de trabalho do servidor Rancher devem ter um papel de instância que tenha leitura/gravação no bucket de backup designado.

  • Os nós de trabalho do servidor Rancher devem ter acesso de rede ao endpoint S3 especificado.

Para dar a um aplicativo acesso ao S3, consulte a documentação da AWS sobre Usando um Papel IAM para Conceder Permissões a Aplicativos em Execução em Instâncias Amazon EC2.

Visualizando Instantâneos Disponíveis

A lista de todos os instantâneos disponíveis para o cluster está disponível na interface do Rancher.

  1. No canto superior esquerdo, clique em ☰ > Gerenciamento de Cluster.

  2. Na página Clusters, vá para o cluster onde você deseja visualizar os instantâneos e clique no nome dele.

  3. Clique na aba Instantâneos para visualizar a lista de instantâneos salvos. Esses instantâneos incluem um carimbo de data/hora de quando foram criados.

Carimbos de Data/Hora Seguros (RKE)

Os arquivos de instantâneo são carimbados com data/hora para simplificar o processamento dos arquivos usando ferramentas e scripts externos, mas em alguns backends compatíveis com S3, esses carimbos de data/hora eram inutilizáveis.

A opção safe_timestamp é adicionada para suportar nomes de arquivo compatíveis. Quando essa flag é definida como true, todos os caracteres especiais no carimbo de data/hora do nome de arquivo do instantâneo são substituídos.

Essa opção não está disponível diretamente na interface do usuário e está disponível apenas através da interface Edit as Yaml.