Esta página descreve os erros de autorização que pode encontrar quando usa o Backup for GKE, aspetos a ter em conta quando realiza a ação e como resolver o erro.
Erro 100010101: não foi possível fazer uma cópia de segurança de PersistentVolumeClaim. Falta a associação de IAM para o projeto do inquilino
O erro 100010101 ocorre quando uma tentativa de fazer uma cópia de segurança de um PersistentVolumeClaim falha devido a uma associação de gestão de identidades e acessos em falta para o seu projeto de inquilino, o que resulta numa mensagem de erro a indicar Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project.
A Cópia de segurança do GKE cria instantâneos do disco persistente do cluster do GKE. As capturas de ecrã residem no seu projeto Cloud de Confiance by S3NS , também conhecido como projeto do consumidor, e Cloud de Confiance by S3NS cria-as num projeto de inquilino que gere. O projeto de inquilino existe na organização google.com
separadamente da sua própria organização.
O agente de serviço no projeto do inquilino requer autorizações específicas para usar a chave de encriptação gerida pelo cliente (CMEK) que encripta o disco persistente referenciado pelo PersistentVolumeClaim do cluster. Esta autorização
encripta e desencripta os dados de instantâneos. Se o agente do serviço service-TENANT_PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com não tiver a função roles/cloudkms.cryptoKeyEncrypterDecrypter na CMEK do disco, a operação de cópia de segurança falha.
Para resolver este erro, siga estas instruções:
Verifique se tem autorizações de IAM suficientes para modificar as políticas de IAM na chave do Serviço de gestão de chaves na nuvem na Cloud de Confiance consola
roles/cloudkms.admin, comoroles/cloudkms.adminouroles/owner.Localize o agente de serviço do Compute Engine do projeto de inquilino através do valor
TENANT_PROJECT_NUMBERque se encontra na mensagemstatus reasonda operação de cópia de segurança com falha. Por exemplo,service-TENANT_PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com.Localize as seguintes informações da CMEK usadas para o seu disco persistente encriptado:
Nome da chave: o nome da sua chave de encriptação.
Conjunto de chaves: o nome do conjunto de chaves onde a sua chave reside.
Localização: a Cloud de Confiance by S3NS localização onde a chave se encontra. Por exemplo,
globalouus-central1.
Para conceder ao agente de serviço do Compute Engine do projeto de inquilino a função
roles/cloudkms.cryptoKeyEncrypterDecrypterna sua CMEK, execute o comandogcloud kms keys add-iam-policy-bindingatravés da CLI Google Cloud:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-TENANT_PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterSubstitua o seguinte:
KEY_NAME: o nome da sua chave de encriptação.KEY_RING: o nome do conjunto de chaves.LOCATION: a Cloud de Confiance by S3NS localização da sua chave. Por exemplo,globalouus-central1.TENANT_PROJECT_NUMBER: o número do projeto de inquilino que obteve na mensagemstatus reasonda sua operação de cópia de segurança com falha.
Se o comando for bem-sucedido, o resultado tem o seguinte aspeto:
- members: - serviceAccount:service-987654321098@compute-system.s3ns-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypterTeste novamente a operação de cópia de segurança. Se a operação continuar sem êxito, contacte o apoio técnico ao cliente da nuvem para receber assistência adicional.
Erro 100010104: falha ao fazer uma cópia de segurança de PersistentVolumeClaim: violação da restrição da política da organização ao criar o instantâneo
O erro 100010104 ocorre quando uma tentativa de fazer uma cópia de segurança de um PersistentVolumeClaim falha devido a uma violação de restrição da política da organização durante a criação do instantâneo, o que resulta numa mensagem de erro a indicar Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot.
A Cópia de segurança do GKE cria instantâneos do disco persistente do cluster do GKE. Os instantâneos residem no seu Cloud de Confiance by S3NS projeto, também
conhecido como projeto do consumidor, e são criados num projeto de inquilino que
é gerido pela Cloud de Confiance by S3NS. O projeto de inquilino existe na organização google.com
separadamente da sua própria organização.
A política da sua organização determina onde pode criar recursos de armazenamento. O erro
Constraint constraints/compute.storageResourceUseRestrictions violated
significa que um recurso ou uma captura de ecrã está a violar a política por ter sido
criado num projeto de inquilino que não faz parte da sua estrutura
organizacional permitida. Uma vez que o projeto de inquilino está na organização da Google, está fora da política definida, o que leva à falha da cópia de segurança.
Para resolver este erro, siga estas instruções:
Localize a política da organização que implementa a restrição
constraints/compute.storageResourceUseRestrictions. Para mais informações sobre como ver as políticas da organização através da Cloud de Confiance consola, consulte o artigo Ver políticas da organização.Modifique a política
constraints/compute.storageResourceUseRestrictionspara incluir a pasta do projeto do inquilinofolders/77620796932usada pelo Backup for GKE na respetiva lista de autorizações.Guarde as alterações à política depois de adicionar a pasta à lista de autorizações.
Teste novamente a operação de cópia de segurança após a atualização e a propagação da política da organização, o que normalmente demora alguns minutos. A cópia de segurança deve prosseguir sem violar as restrições de utilização dos recursos de armazenamento. Se a operação continuar a não ser bem-sucedida, contacte o apoio ao cliente do Google Cloud para receber assistência adicional.
Erro 100010106: falha ao fazer uma cópia de segurança de PersistentVolumeClaim: falta a associação do IAM para o agente do serviço de cópia de segurança do GKE
O erro 100010106
ocorre quando uma tentativa de fazer uma cópia de segurança de um PersistentVolumeClaim falha devido a uma
associação da gestão de identidades e acessos em falta para o seu agente do serviço Backup for GKE, o que resulta numa
mensagem de erro a indicar Failed to backup PVC - Missing IAM binding for Backup for GKE service agent.
A Cópia de segurança para o GKE requer autorizações para usar a chave de encriptação gerida pelo cliente (CMEK) do BackupPlan para encriptar e desencriptar volumes de discos persistentes. Quando o agente do serviço de cópia de segurança do GKE não tem a função roles/cloudkms.cryptoKeyEncrypterDecrypter na sua BackupPlan CMEK, as operações de cópia de segurança falham.
Para resolver este erro, siga estas instruções:
Identifique o agente do serviço de cópia de segurança para GKE gerido pela Google específico do seu projeto. Por exemplo,
service-PROJECT_NUMBER@gcp-sa-gkebackup.s3ns-system.iam.gserviceaccount.com. Pode encontrar o número do projeto através dos seguintes métodos:Use o Cloud de Confiance by S3NS painel de controlo do projeto na Cloud de Confiance consola.
Execute o comando
gcloud projects describeatravés da CLI do Google Cloud:gcloud projects describe PROJECT_ID –format="value(projectNumber)"Substitua
PROJECT_IDpelo nome exclusivo do seu projeto.
Identifique os seguintes detalhes da CMEK:
Nome da chave: o nome da sua chave de encriptação.
Conjunto de chaves: o nome do conjunto de chaves onde a sua chave reside.
Localização: a Cloud de Confiance by S3NS localização onde a sua CMEK está localizada.
BackupPlanPor exemplo,globalouus-central1.
Para conceder ao agente de serviço da Cópia de segurança do GKE a função
roles/cloudkms.cryptoKeyEncrypterDecrypterna sua CMEK, use a CLI Google Cloud para executar o comandogcloud kms keys add-iam-policy-binding:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-gkebackup.s3ns-system.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterSubstitua o seguinte:
KEY_NAME: o nome da sua chave de encriptação.KEY_RING: o nome do conjunto de chaves.LOCATION: a Cloud de Confiance by S3NS localização da sua chave. Por exemplo,globalouus-central1.PROJECT_NUMBER: o número do seu Cloud de Confiance by S3NS projeto.
Verifique se tem as autorizações da gestão de identidade e de acesso necessárias na chave do Serviço de gestão de chaves na nuvem. Por exemplo,
roles/cloudkms.adminouroles/owner.Verifique se tem as autorizações concedidas. No resultado do comando
gcloud kms keys add-iam-policy-bindinganterior, procure uma entrada semelhante à seguinte:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.s3ns-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypterTeste novamente a operação de cópia de segurança depois de conceder as autorizações necessárias. Se a operação não for concluída com êxito, contacte o apoio ao cliente do Google Cloud para receber assistência adicional.
Erro 100010107: falha na cópia de segurança de PersistentVolumeClaim – Falta associação de IAM – conta de serviço do agente (KCP)
O erro 100010107ocorre quando tenta realizar uma operação de cópia de segurança para o GKE e o agente de serviço do cluster do Google Kubernetes Engine não tem acesso à sua chave de encriptação gerida pelo cliente (CMEK), o que resulta numa mensagem a indicar Failed to backup PVC - Missing IAM binding - agent service account (KCP).
O agente de serviço do cluster do Google Kubernetes Engine, normalmente no formato de
service-PROJECT_NUMBER@container-engine-robot.s3ns-system.iam.gserviceaccount.com,
é essencial para que o seu cluster do GKE interaja com os serviços Cloud de Confiance by S3NS. Quando o seu plano de cópia de segurança usa uma chave de encriptação gerida pelo cliente (CMEK).
Este agente do serviço precisa de autorizações para encriptar e desencriptar os seus dados de cópia de segurança
através da sua CMEK. Se o plano de cópia de segurança não tiver a função roles/cloudkms.cryptoKeyEncrypterDecrypter
na sua CMEK, as operações de cópia de segurança iniciadas a partir do cluster falham com um erro permission denied.
Para resolver este erro, use as seguintes instruções de resolução de problemas:
Verifique se tem as autorizações corretas para modificar as políticas de IAM na chave do Serviço de gestão de chaves na nuvem. Por exemplo,
cloudkms.adminouroles/owner.Identifique o agente de serviço do cluster do Google Kubernetes Engine. Este agente de serviço é criado e gerido automaticamente pela Google para os seus clusters do GKE. Cloud de Confiance by S3NS Por exemplo,
service-PROJECT_NUMBER@container-engine-robot.s3ns-system.iam.gserviceaccount.com. Precisa do número do projeto para criar a conta de serviço completa. Pode encontrar o número do projeto através de um dos seguintes métodos:Use o Cloud de Confiance by S3NS painel de controlo do projeto na Cloud de Confiance consola.
Execute o comando
gcloud projects describeatravés da CLI do Google Cloud:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"Substitua
PROJECT_IDpelo ID do seu projeto.
Localize as seguintes informações da CMEK:
Nome da chave: o nome da sua chave de encriptação.
Conjunto de chaves: o nome do conjunto de chaves onde a sua chave reside.
Localização: a Cloud de Confiance by S3NS localização onde a chave se encontra. Por exemplo,
globalouus-central1.
Conceda a função de
roles/cloudkms.cryptoKeyEncrypterDecrypterao nível do CMEK. O agente de serviço do Google Kubernetes Engine precisa de autorizações na sua chave de encriptação. Para conceder a funçãoroles/cloudkms.cryptoKeyEncrypterDecrypterna sua CMEK, use a CLI gcloud para executar o comandogcloud kms key add-iam-policy-binding:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@container-engine-robot.s3ns-system.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterSubstitua o seguinte:
KEY_NAME: o nome da sua chave de encriptação.KEY_RING: o nome do conjunto de chaves.LOCATION: a Cloud de Confiance by S3NS localização da sua chave. Por exemplo,globalouus-central1.PROJECT_NUMBER: o nome do projeto.
O resultado é semelhante ao seguinte:
- members: - serviceAccount:service-123456789012@container-engine-robot.s3ns-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```Tente novamente a operação de cópia de segurança do GKE. Se a operação continuar a falhar, contacte o apoio técnico do Google Cloud para receber assistência adicional.
Erro 100020101: falha na cópia de segurança de PersistentVolumeClaim – PersistentVolumeClaim associado a um tipo de PersistentVolume não suportado
O erro 100020101 ocorre quando uma tentativa de fazer uma cópia de segurança de um PersistentVolumeClaim falha porque o PersistentVolumeClaim está associado a um tipo de PersistentVolume não suportado. O erro resulta na seguinte mensagem de erro:
PersistentVolumeClaims are bound to PersistentVolumes of unsupported types and cannot be backed up.
Este erro ocorre quando a sua operação de cópia de segurança do GKE encontra um PersistentVolumeClaim associado a um PersistentVolume que usa um tipo de volume não suportado para a cópia de segurança de dados pelo Backup for GKE. A cópia de segurança para o GKE
suporta principalmente a criação de cópias de segurança de dados de volumes de discos persistentes. Se um PersistentVolumeClaim estiver associado a um PersistentVolume que não seja um disco persistente, a operação de cópia de segurança falha para os dados do PersistentVolumeClaim.
Para resolver este erro, use as seguintes instruções de resolução de problemas:
Apresente uma lista de todos os
PersistentVolumeClaimsePersistentVolumesassociados a eles executando o comandokubectl get pvc. Reveja esta lista para identificar osPersistentVolumesque são suportados por tipos de volumes não suportados.kubectl get pvc --all-namespaces -o wideDetermine o tipo de volume do
PersistentVolumeque é suportado por um tipo de volume não suportado pela cópia de segurança para o GKE executando o comandokubectl describe pv:kubectl describe pv PERSISTENT_VOLUME_NAMESubstitua o seguinte:
PERSISTENT_VOLUME_NAME: o nome dePersistentVolumeque tem um tipo de volume não suportado indicado como colunaVOLUMEna saída do passo anterior.Na saída, use os campos
SourceeDriverpara obter detalhes do aprovisionador de volume:Para Persistent Disks suportados: o resultado é semelhante a
Source.Driver: pd.csi.storage.gke.ioouSource.Type:GCEPersistentDisk.Para tipos não suportados que estão a causar o erro: a saída seria um controlador de disco não persistente, por exemplo,
Source.Driver:filestore.csi.storage.gke.io.
Use um dos seguintes métodos para resolver o erro:
Migre para um volume de disco persistente: recomendamos este método para fazer cópias de segurança completas dos dados. Se precisar de fazer uma cópia de segurança dos dados de volume reais, tem de usar um disco persistente, o que envolve a migração dos dados do tipo de volume não suportado para um novo volume CSI de disco persistente. Para receber assistência com a migração de um volume do disco persistente, contacte o Cloud Customer Care.
Ative o modo permissivo na Cópia de segurança para GKE: recomendamos este método se não for necessária uma cópia de segurança de dados para volumes não suportados. Se a migração de dados não for viável ou necessária, por exemplo, se o volume tiver uma cópia de segurança de um serviço externo e planear voltar a anexá-lo durante a operação de restauro, pode configurar o plano de cópia de segurança do Backup for GKE para permitir que a cópia de segurança continue no modo permissivo. Para mais informações sobre como ativar o modo permissivo, consulte o artigo Ative o modo permissivo num plano de yedekleme.
Tente novamente a operação de cópia de segurança do GKE. Com base no método que escolheu para resolver o erro, a operação de cópia de segurança para GKE tem o seguinte comportamento:
Se migrou para um volume de disco persistente, a cópia de segurança deve ser bem-sucedida para o volume, incluindo os respetivos dados.
Se ativou o modo permissivo, a operação de cópia de segurança deve ser bem-sucedida, mas não é feita uma cópia de segurança dos dados dos volumes não suportados.
Se a operação continuar a falhar, contacte o apoio ao cliente do Google Cloud para receber mais assistência.
Erro 100020104: falha ao fazer uma cópia de segurança de PersistentVolumeClaim – PersistentVolumeClaim não associado a um PersistentVolume
O erro 100020104 ocorre quando uma tentativa de fazer uma cópia de segurança de um PersistentVolumeClaim falha porque o PersistentVolumeClaim não está associado a um PersistentVolume. O erro resulta na seguinte mensagem de erro: Failed to backup PVC - PVC Not Bound to a Persistent Volume.
Este erro ocorre quando a operação de cópia de segurança do Backup for GKE tenta fazer uma cópia de segurança de um PersistentVolumeClaim que não está associado com êxito a um PersistentVolume.
Um PersistentVolumeClaim tem de estar associado a um PersistentVolume antes de poder ser usado por uma carga de trabalho de consumo, como um pod, e, posteriormente, ter uma cópia de segurança feita pelo Backup for GKE. Se o PersistentVolumeClaim permanecer num estado Pending, significa que não está disponível um PersistentVolume adequado ou que não é possível aprovisioná-lo nem associá-lo, o que leva à falha da operação de cópia de segurança. Um motivo comum para um PersistentVolumeClaim permanecer não associado é quando o respetivo StorageClass usa um modo de associação WaitForFirstConsumer, mas nenhum pod ou outra carga de trabalho está ainda a tentar consumir o PersistentVolumeClaim.
Para resolver este erro, use as seguintes instruções de resolução de problemas:
Para verificar o estado de todos os
PersistentVolumeClaimsno cluster e identificar oPersistentVolumeClaimnão associado, execute o comandokubectl get pvc:kubectl get pvc --all-namespaces | grep `Pending`Depois de identificar o
PersistentVolumeClaimque não está associado a umPersistentVolume, obtenha informações sobre oPersistentVolumeClaimnão associado executando o comandokubectl describe pvc:kubectl describe pvc PVC_NAME -n NAMESPACE_NAMESubstitua o seguinte:
PVC_NAME: o nome doPersistentVolumeClaimpara o qual ocorreu uma falha de cópia de segurança.NAMESPACE_NAME: o nome do seu espaço de nomes onde reside oPersistentVolumeClaim.
Depois de a descrição ser apresentada, use os campos
StatuseEventspara determinar se oPersistentVolumeClaimestá associado a umPersistentVolume. Se ainda não conseguir determinar por que motivo oPersistentVolumeClaimnão está associado a umPersistentVolumeou não conseguir resolver o problema identificado, pode ativar o modo permissivo no seu plano de contingência. Para mais informações sobre como ativar o modo permissivo, consulte o artigo Ative o modo permissivo num plano de cópia de segurança.