Nesta página, explicamos como ativar o modo permissivo em um plano de backup.
Durante a execução do backup, se o Backup para GKE detectar condições que provavelmente vão causar falha na restauração, o backup vai falhar. O motivo da falha é fornecido no campo state_reason do backup. No console do Google Cloud , esse campo é chamado de Motivo do status.
Sobre o modo permissivo
Quando falhas de backup não são aceitáveis e não é possível resolver os problemas subjacentes, você pode ativar o modo permissivo. O modo permissivo garante que os backups sejam concluídos com êxito, mesmo que recursos do GKE que possam causar falhas na restauração sejam detectados durante o processo de backup. Os detalhes sobre os problemas são fornecidos no campo Motivo do status do backup.
Recomendamos usar essa opção apenas se você entender os problemas e puder implementar soluções alternativas durante o processo de restauração. Para conferir uma lista de possíveis mensagens de erro no campo Motivo do status do backup com ações recomendadas, consulte Resolver problemas de falhas de backup.
Ative o modo permissivo
Use as instruções a seguir para ativar o modo permissivo:
gcloud
Para ativar o modo permissivo, execute o comando
gcloud beta container backup-restore backup-plans update
:
gcloud beta container backup-restore backup-plans update BACKUP_PLAN \
--project=PROJECT_ID \
--location=LOCATION
--permissive-mode
Substitua:
BACKUP_PLAN
: o nome do plano de backup que você quer atualizar.PROJECT_ID
: o ID do seu projeto Google Cloud.LOCATION
: a região do Compute do recurso, por exemplo,us-central1
; Consulte Sobre locais de recursos.Para uma lista completa de opções, consulte a documentação gcloud beta container backup-restore backup-plans update.
Console
Use as instruções a seguir para ativar o modo permissivo no console doGoogle Cloud :
No console Google Cloud , acesse a página Google Kubernetes Engine.
No menu de navegação, clique em Backup para o GKE.
Clique na guia Planos de backup.
Expanda o cluster e clique no nome do plano.
Clique na guia Detalhes para editar os detalhes do plano.
Clique em Editar para editar a seção com o Modo de backup.
Clique na caixa de seleção Modo permissivo e em Salvar alterações.
Terraform
Atualize o recurso google_gke_backup_backup_plan
atual.
resource "google_gke_backup_backup_plan" "NAME" {
...
backup_config {
permissive_mode = true
...
}
}
Substitua:
NAME
: o nome dogoogle_gke_backup_backup_plan
que você queratualizar.
Para mais informações, consulte gke_backup_backup_plan.
Resolver problemas de falha no backup
Confira na tabela a seguir as explicações e ações recomendadas para várias mensagens de falha do backup exibidas no campo Motivo do status do backup.
Mensagem de falha no backup | Descrição da mensagem e motivo da falha | Ação recomendada |
---|---|---|
|
Descrição: uma definição de recurso personalizada (CRD, na sigla em inglês) no
cluster foi aplicada originalmente como
apiextensions.k8s.io/v1beta1 e não tem um esquema estrutural
obrigatório no apiextensions.k8s.io/v1 .Motivo: o Backup para GKE não pode definir automaticamente o esquema estrutural. Restaurando a CRD nos clusters do Kubernetes v1.22+, em que apiextensions.k8s.io/v1beta1 não está disponível causa
falha na restauração. Essa falha ocorre ao restaurar
recursos personalizados definidos pela CRD.
|
Recomendamos que você use as seguintes opções:
Quando o modo permissivo está ativado, o backup da CRD sem um esquema estrutural não será feito em um cluster do Kubernetes v1.22+. Para restaurar esse backup, exclua os recursos veiculados pela CRD da restauração ou crie a CRD no cluster de destino antes de iniciar a restauração. |
|
Descrição: um serviço de API no cluster está
configurado incorretamente. Isso faz com que as solicitações feitas ao caminho da API retornem a mensagem "Falha ao
consultar recursos da API". O serviço subjacente pode não existir ou não
está pronto. Motivo: o Backup para GKE não pode fazer backup de nenhum recurso veiculado pela API indisponível. |
Verifique o serviço subjacente no console
spec.service para conferir se ele está pronto.Quando o modo permissivo está ativado, os recursos dos grupos de APIs que apresentam falha ao carregar não terão o backup realizado. |
|
Descrição: no Kubernetes v1.23 e versões anteriores,
as contas de serviço geram automaticamente um token com um secret. No entanto, em
versões mais recentes, o Kubernetes removeu esse recurso de token gerado automaticamente. Um
pod no cluster pode ter adicionado o volume do secret no
sistema de arquivo dos contêineres. Motivo: se o Backup para GKE tentar restaurar uma conta de serviço com o secret gerado automaticamente e um pod que adiciona o volume do secret, a restauração aparenta ter sido concluída. No entanto, O Kubernetes remove o secret, o que faz com que o pod fique preso na criação do contêiner e apresente falha ao iniciar. |
Defina o campo spec.serviceAccountName no pod. Esta
ação garante que o token seja adicionado automaticamente
no /var/run/secrets/kubernetes.io/serviceaccount nos
contêineres. Para mais informações, consulte a documentação
Configurar contas de serviço para pods
.Quando o modo permissivo está ativado, o backup do secret vai ser feito, mas não poderá ser adicionado em pods nos clusters do Kubernetes v1.24+. |
Definições de recursos personalizados (CRDs) comuns com problemas e ações recomendadas
Confira algumas CRDs comuns com problemas de backup e as ações recomendadas para resolver os problemas:
capacityrequests.internal.autoscaling.k8s.io
: Esta CRD foi usada temporariamente nos clusters v1.21. Executekubectl delete crd capacityrequests.internal.autoscaling.k8s.io
para remover a CRD.scalingpolicies.scalingpolicy.kope.io
: esta CRD era usada para controlar recursos fluentd, mas o GKE migrou para o fluentbit. Executekubectl delete crd scalingpolicies.scalingpolicy.kope.io
para remover a CRD.memberships.hub.gke.io
: executekubectl delete crd memberships.hub.gke.io
para remover o CRD, se não houver recursos de assinatura. Ativar o modo permissivo se houver recursos de assinatura.applications.app.k8s.io
: ativar o modo permissivo com uma compreensão do comportamento de restauração.