Em um cluster Kubernetes, tenho vários aplicativos implantados no mesmo namespace chamado "default". Um aplicativo consiste em um pod de servidor da web e um pod de banco de dados.
Como restaurar um único aplicativo no cluster original a partir de um plano de backup deBackup para GKE?
No cluster defini vários ProtectedApplication
's para o agente de backup para que ele identifique as aplicações distintas (sites). Esta definição se parece com:
kind: ProtectedApplication
apiVersion: gkebackup.gke.io/v1alpha2
metadata:
name: test
namespace: default
spec:
resourceSelection:
type: Selector
selector:
matchLabels:
app.kubernetes.io/instance: test
components:
- name: wordpress
resourceKind: Deployment
resourceNames: ["test-wordpress"]
strategy:
type: BackupAllRestoreAll
backupAllRestoreAll: {}
- name: mariadb
resourceKind: StatefulSet
resourceNames: ["test-mariadb"]
strategy:
type: BackupAllRestoreAll
backupAllRestoreAll: {}
Minha principal preocupação é com a opção "Definir tratamento de conflitos" na configuração do plano de restauração:
Diz:
Quaisquer namespaces conflitantes no cluster de destino (juntamente com todos os recursos contidos) serão excluídos antes que uma restauração não destrutiva seja executada.
Ele realmente remove todo o namespace "padrão" do Kubernetes antes de restaurar apenas o aplicativo protegido? Espero que isso remova apenas os recursos dentro do namespace Kubernetes que possuem os mesmos nomes encontrados no backup que será restaurado. Alguém pode me ajudar aqui?
Responder1
Boas notícias! O procedimento de restauração não remove todo o namespace. Mas apenas os artefatos pertencentes ao ProtectedApplication são primeiro removidos e depois restaurados do backup. Perfeito!