Esta página descreve como usar os recursos ProtectedApplication
para personalizar o comportamento das cópias de segurança e dos restauros no Google Distributed Cloud (GDC) air-gapped.
Os passos descritos nesta página são opcionais e não são necessários para configurar com êxito a cópia de segurança e o restauro para as suas cargas de trabalho. Os recursos ProtectedApplication
são recursos do Kubernetes opcionais em espaços de nomes que personalizam a cópia de segurança e o restauro de aplicações com estado individuais. Sem recursos ProtectedApplication
, aplicam-se as seguintes restrições:
- Restringe o nível de detalhe do âmbito da cópia de segurança e do restauro ao nível do espaço de nomes.
- Não ocorrem operações de descarga nem de suspensão temporária em cargas de trabalho durante a execução da cópia de segurança.Isto pode resultar em máquinas virtuais com vários discos que não são consistentes em caso de falha após o restauro.
Os recursos ProtectedApplication
são recursos de espaço de nomes do Kubernetes opcionais usados para personalizar a cópia de segurança e o restauro de aplicações com estado individuais.
O recurso ProtectedApplication
define os recursos do Kubernetes que pertencem a uma instância da aplicação. Pode configurar manualmente uma orquestração especializada
usando o comando kubectl
para criar uma cópia de segurança e restaurar essas aplicações nos seguintes
cenários:
- Para identificar um conjunto de recursos num espaço de nomes que pode ser alvo de uma cópia de segurança ou
restauro independentemente dos outros recursos nesse espaço de nomes. Um
ProtectedApplication
é a entidade de espaço de nomes mais detalhada que pode identificar para um âmbito de cópia de segurança ou restauro. - Para fornecer uma orquestração de cópias de segurança especializada sempre que o
ProtectedApplication
estiver no âmbito de uma cópia de segurança. Em particular, se oProtectedApplication
contiver recursosPersistentVolumeClaim
(PVC) diretamente ou através de um modelo de umStatefulSet
, pode executar hooks antes e depois de fazer uma cópia de segurança dos volumes. Os hooks são comandos que são executados em contentores de aplicações. Estes hooks são frequentemente usados para operações de descarga, suspensão ou retomada, e fornecem uma cópia de segurança consistente com a aplicação.
Antes de começar
Para usar os recursos do ProtectedApplication
, tem de ter o seguinte:
- Tem de definir o recurso
ProtectedApplication
antes de criar um plano de cópia de segurança. Para mais informações, consulte o artigo Planeie um conjunto de cópias de segurança. A função de identidade e acesso necessária:
- Para utilizadores do administrador da plataforma (PA):
- Administrador de cópias de segurança de clusters de utilizadores: gere recursos de cópia de segurança, como planos de cópia de segurança e restauro, em clusters de utilizadores. Peça ao administrador de IAM da organização para lhe conceder a função de administrador de cópias de segurança de clusters de utilizadores (
user-cluster-backup-admin
).
- Administrador de cópias de segurança de clusters de utilizadores: gere recursos de cópia de segurança, como planos de cópia de segurança e restauro, em clusters de utilizadores. Peça ao administrador de IAM da organização para lhe conceder a função de administrador de cópias de segurança de clusters de utilizadores (
- Para utilizadores do operador de aplicações (AO):
- Criador de cópias de segurança: cria cópias de segurança manuais e faz restauros. Peça ao administrador de IAM do projeto para lhe conceder a função de criador de cópias de segurança (
backup-creator
).
- Criador de cópias de segurança: cria cópias de segurança manuais e faz restauros. Peça ao administrador de IAM do projeto para lhe conceder a função de criador de cópias de segurança (
- Para mais informações, consulte o artigo Definições de funções.
- Para utilizadores do administrador da plataforma (PA):
Implemente recursos de aplicações protegidos
Segue-se um exemplo de uma especificação Deployment
com um recurso ProtectedApplication
que faz uma cópia de segurança de todos os recursos associados à aplicação durante a cópia de segurança e restaura todos os recursos durante o restauro:
apiVersion: v1
kind: Namespace
metadata:
name: "applications"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: protected-application-deployment
namespace: applications
labels:
app: protected
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: unprotected-application-deployment
namespace: applications
labels:
app: unprotected
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
---
apiVersion: gkebackup.gke.io/v1
kind: ProtectedApplication
metadata:
name: protected-application-test
namespace: applications
spec:
applicationName: protectedApplication
resourceSelection:
type: Selector
selector:
matchLabels:
app: protected
components:
- name: protect-application-deployment
resourceKind: Deployment
resourceNames:
- protected-application-deployment
strategy:
type: BackupAllRestoreAll
Especifique o ProtectedApplication
na lista de
selectedApplications
no backupScope
. Por exemplo:
apiVersion: backup.gdc.goog/v1
kind: BackupPlan
metadata:
name: protected-application-backupplan-test
namespace: applications
spec:
clusterName: "cluster-sample"
backupSchedule:
cronSchedule: "*/30 * * * *"
paused: true
backupConfig:
backupScope:
selectedApplications:
namespacedNames:
- name: protected-application-test
namespace: applications
backupRepository: "backup-repository"
retentionPolicy:
backupDeleteLockDays: 10
backupRetainDays: 10
Este exemplo inclui os seguintes valores:
Valor | Descrição |
---|---|
resourceSelection |
Define como identificar os recursos que pertencem à aplicação protegida:
|
components |
A lista de componentes da aplicação protegida, como implementações ou conjuntos com estado:
|
O que se segue?
- Para selecionar uma estratégia de aplicação protegida, consulte o artigo Estratégias de aplicação protegidas.