Auf dieser Seite werden Berechtigungsfehler beschrieben, die bei der Verwendung von Backup for GKE auftreten können. Außerdem werden Aspekte erläutert, die bei der Ausführung der Aktion zu berücksichtigen sind, und es wird beschrieben, wie Sie den Fehler beheben können.
Fehler 100010101: Fehler beim Sichern von PersistentVolumeClaim – IAM-Bindung für Mandantenprojekt fehlt
Der Fehler 100010101
tritt auf, wenn beim Versuch, eine PersistentVolumeClaim
zu sichern, ein Fehler auftritt, weil für Ihr Mandantenprojekt keine Identity and Access Management-Bindung vorhanden ist. In diesem Fall wird die Fehlermeldung Failed to backup PersistentVolumeClaim - Missing IAM binding for tenant project
angezeigt.
Backup for GKE erstellt Snapshots des nichtflüchtigen Speichers Ihres GKE-Clusters. Die Snapshots befinden sich in Ihrem Google Cloud Projekt, auch bekannt als das Nutzerprojekt, und Google Cloud erstellt sie in einem von ihm verwalteten Mandantenprojekt. Das Mandantenprojekt befindet sich in der Organisation google.com
, getrennt von Ihrer eigenen Organisation.
Der Dienst-Agent im Mandantenprojekt benötigt bestimmte Berechtigungen, um den vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) zu verwenden, mit dem der nichtflüchtige Speicher verschlüsselt wird, auf den in der PersistentVolumeClaim
Ihres Clusters verwiesen wird. Mit dieser Berechtigung werden die Snapshot-Daten verschlüsselt und entschlüsselt. Wenn dem service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
-Dienst-Agent die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter
für den CMEK Ihres Laufwerks fehlt, schlägt der Sicherungsvorgang fehl.
So beheben Sie diesen Fehler:
Prüfen Sie, ob Sie die erforderlichen IAM-Berechtigungen zum Ändern von IAM-Richtlinien für den Cloud Key Management Service-Schlüssel in der Google Cloud Konsole haben, z. B.
roles/cloudkms.admin
oderroles/owner
.Suchen Sie den Compute Engine-Dienst-Agent des Mandantenprojekts anhand des Werts
TENANT_PROJECT_NUMBER
, der in der Meldungstatus reason
Ihres fehlgeschlagenen Sicherungsvorgangs enthalten ist. Beispiel:service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
.Suchen Sie die folgenden CMEK-Informationen, die für Ihre verschlüsselte Persistent Disk verwendet werden:
Schlüsselname: Der Name Ihres Verschlüsselungsschlüssels.
Schlüsselbund: Der Name des Schlüsselbunds, in dem sich Ihr Schlüssel befindet.
Speicherort: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:
global
oderus-central1
.
Wenn Sie dem Compute Engine-Dienst-Agent des Mandantenprojekts die Rolle
roles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren CMEK zuweisen möchten, führen Sie den Befehlgcloud kms keys add-iam-policy-binding
mit der Google Cloud CLI aus:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-TENANT_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ersetzen Sie Folgendes:
KEY_NAME
: Name des Verschlüsselungsschlüssels.KEY_RING
: Der Name des Schlüsselbunds.LOCATION
: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:global
oderus-central1
.TENANT_PROJECT_NUMBER
: die Mandantenprojektnummer, die Sie aus derstatus reason
-Meldung Ihres fehlgeschlagenen Sicherungsvorgangs erhalten haben.
Wenn der Befehl erfolgreich ist, sieht die Ausgabe so aus:
- members: - serviceAccount:service-987654321098@compute-system.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Wiederholen Sie den Sicherungsvorgang. Wenn der Vorgang weiterhin nicht erfolgreich ist, wenden Sie sich an Cloud Customer Care.
Fehler 100010104: Fehler beim Sichern von PersistentVolumeClaim – Verstoß gegen die Einschränkung der Organisationsrichtlinie beim Erstellen des Snapshots
Der Fehler 100010104
tritt auf, wenn der Versuch, eine PersistentVolumeClaim
zu sichern, aufgrund eines Verstoßes gegen eine Organisationsrichtlinie während der Snapshot-Erstellung fehlschlägt. In diesem Fall wird die Fehlermeldung Failed to backup PersistentVolumeClaim - Org policy constraint violation while creating snapshot
angezeigt.
Backup for GKE erstellt Snapshots des nichtflüchtigen Speichers Ihres GKE-Clusters. Die Snapshots befinden sich in Ihrem Google Cloud -Projekt, auch bekannt als Nutzerprojekt, und werden in einem von Google Cloudverwalteten Mandantenprojekt erstellt. Das Mandantenprojekt befindet sich in der Organisation google.com
, getrennt von Ihrer eigenen Organisation.
Ihre Organisationsrichtlinie gibt vor, wo Sie Speicherressourcen erstellen können. Der Fehler Constraint constraints/compute.storageResourceUseRestrictions violated
bedeutet, dass eine Ressource oder ein Snapshot gegen die Richtlinie verstößt, da sie in einem Mandantenprojekt erstellt wurde, das nicht Teil Ihrer zulässigen Organisationsstruktur ist. Da sich das Mandantenprojekt in der Organisation von Google befindet, fällt es nicht unter Ihre definierte Richtlinie, was zum Fehler bei der Sicherung führt.
So beheben Sie diesen Fehler:
Suchen Sie die Organisationsrichtlinie, die die Einschränkung
constraints/compute.storageResourceUseRestrictions
implementiert. Weitere Informationen zum Aufrufen von Organisationsrichtlinien über die Google Cloud -Konsole finden Sie unter Organisationsrichtlinien aufrufen.Ändern Sie die
constraints/compute.storageResourceUseRestrictions
-Richtlinie so, dass der vom Backup for GKE verwendetefolders/77620796932
-Mandantenprojektordner in der Zulassungsliste enthalten ist.Speichern Sie die Richtlinienänderungen, nachdem Sie den Ordner auf die Zulassungsliste gesetzt haben.
Testen Sie den Sicherungsvorgang noch einmal, nachdem die Organisationsrichtlinie aktualisiert und übernommen wurde. Das dauert in der Regel einige Minuten. Die Sicherung sollte ohne Verstoß gegen die Einschränkungen bei der Nutzung von Speicherressourcen erfolgen. Wenn der Vorgang weiterhin nicht erfolgreich ist, wenden Sie sich an Cloud Customer Care.
Fehler 100010106: PersistentVolumeClaim konnte nicht gesichert werden – Fehlende IAM-Bindung für den Backup for GKE-Dienst-Agent
Der Fehler 100010106
tritt auf, wenn beim Versuch, eine PersistentVolumeClaim
zu sichern, ein Fehler auftritt, weil für Ihren Backup for GKE-Dienst-Agent keine IAM-Bindung (Identity and Access Management) vorhanden ist. In diesem Fall wird die Fehlermeldung Failed to backup PVC - Missing IAM binding for Backup for GKE service agent
angezeigt.
Für Backup for GKE sind Berechtigungen erforderlich, um den vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) von BackupPlan
zum Verschlüsseln und Entschlüsseln von nichtflüchtigen Speichern zu verwenden. Wenn dem Backup for GKE-Dienst-Agent die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren BackupPlan
-CMEK fehlt, schlagen Sicherungsvorgänge fehl.
So beheben Sie diesen Fehler:
Ermitteln Sie den von Google verwalteten Backup for GKE-Dienst-Agent für Ihr Projekt. Beispiel:
service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com
. Sie können Ihre Projektnummer mit den folgenden Methoden ermitteln:Verwenden Sie das Google Cloud Projekt-Dashboard in der Google Cloud Console.
Führen Sie den Befehl
gcloud projects describe
über die Google Cloud CLI aus:gcloud projects describe PROJECT_ID –format="value(projectNumber)"
Ersetzen Sie
PROJECT_ID
durch den eindeutigen Namen Ihres Projekts.
Ermitteln Sie die folgenden CMEK-Details:
Schlüsselname: Der Name Ihres Verschlüsselungsschlüssels.
Schlüsselbund: Der Name des Schlüsselbunds, in dem sich Ihr Schlüssel befindet.
Standort: Der Google Cloud -Standort, an dem sich Ihr
BackupPlan
-CMEK befindet. Beispiel:global
oderus-central1
.
Um dem Backup for GKE-Dienst-Agent die Rolle
roles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren CMEK zu gewähren, führen Sie den Befehlgcloud kms keys add-iam-policy-binding
mit der Google Cloud CLI aus:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ersetzen Sie Folgendes:
KEY_NAME
: Name des Verschlüsselungsschlüssels.KEY_RING
: Der Name des Schlüsselbunds.LOCATION
: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:global
oderus-central1
.PROJECT_NUMBER
: Ihre Google Cloud -Projektnummer.
Prüfen Sie, ob Sie die erforderlichen IAM-Berechtigungen (Identity and Access Management) für den Cloud KMS-Schlüssel haben. Beispiel:
roles/cloudkms.admin
oderroles/owner
.Prüfen Sie, ob Sie die erteilten Berechtigungen haben. Suchen Sie in der Ausgabe des vorherigen
gcloud kms keys add-iam-policy-binding
-Befehls nach einem Eintrag, der dem folgenden ähnelt:-members: -serviceAccount:service-123456789012@gcp-sa-gkebackup.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter
Wiederholen Sie den Sicherungsvorgang, nachdem Sie die erforderlichen Berechtigungen erteilt haben. Wenn der Vorgang nicht erfolgreich abgeschlossen wird, wenden Sie sich an Cloud Customer Care.
Fehler 100010107: Fehler beim Sichern von PersistentVolumeClaim – Fehlendes IAM-Binding – Dienstkonto des Agents (KCP)
Der Fehler 100010107
tritt auf, wenn Sie versuchen, einen Backup for GKE-Sicherungsvorgang auszuführen und der Google Kubernetes Engine-Cluster-Dienst-Agent keinen Zugriff auf Ihren vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) hat. In diesem Fall wird die Meldung Failed to backup PVC - Missing IAM binding - agent service account (KCP)
angezeigt.
Der Google Kubernetes Engine-Clusterdienst-Agent, in der Regel im Format service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
, ist unerlässlich, damit Ihr GKE-Cluster mit Google Cloud-Diensten interagieren kann. Wenn in Ihrem Sicherungsplan ein vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) verwendet wird.
Dieser Dienstagent benötigt Berechtigungen zum Ver- und Entschlüsseln Ihrer Sicherungsdaten mit Ihrem CMEK. Wenn im Sicherungsplan die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren CMEK fehlt, schlagen Sicherungsvorgänge, die vom Cluster aus initiiert werden, mit dem Fehler permission denied
fehl.
Führen Sie die folgenden Schritte zur Fehlerbehebung aus, um das Problem zu beheben:
Prüfen Sie, ob Sie die erforderlichen Berechtigungen zum Ändern von IAM-Richtlinien für den Cloud Key Management Service-Schlüssel haben. Beispiel:
cloudkms.admin
oderroles/owner
.Google Kubernetes Engine-Cluster-Dienst-Agent identifizieren Dieser Dienst-Agent wird automatisch von Google Cloud für Ihre GKE-Cluster erstellt und verwaltet. Beispiel:
service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com
Sie benötigen die Projektnummer, um das vollständige Dienstkonto zu erstellen. Sie können Ihre Projektnummer mit einer der folgenden Methoden ermitteln:Verwenden Sie das Google Cloud Projekt-Dashboard in der Google Cloud Console.
Führen Sie den Befehl
gcloud projects describe
über die Google Cloud CLI aus:gcloud projects describe PROJECT_ID –-format="value(projectNumber)"
Ersetzen Sie
PROJECT_ID
durch Ihre Projekt-ID.
Suchen Sie die folgenden CMEK-Informationen:
Schlüsselname: Der Name Ihres Verschlüsselungsschlüssels.
Schlüsselbund: Der Name des Schlüsselbunds, in dem sich Ihr Schlüssel befindet.
Speicherort: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:
global
oderus-central1
.
Weisen Sie die Rolle
roles/cloudkms.cryptoKeyEncrypterDecrypter
auf CMEK-Ebene zu. Der Google Kubernetes Engine-Dienst-Agent benötigt Berechtigungen für Ihren Verschlüsselungsschlüssel. Wenn Sie die Rolleroles/cloudkms.cryptoKeyEncrypterDecrypter
für Ihren CMEK gewähren möchten, führen Sie den Befehlgcloud kms key add-iam-policy-binding
mit der Google Cloud CLI aus:gcloud kms keys add-iam-policy-binding KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --member "serviceAccount:service-PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com" \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Ersetzen Sie Folgendes:
KEY_NAME
: Name des Verschlüsselungsschlüssels.KEY_RING
: Der Name des Schlüsselbunds.LOCATION
: Der Google Cloud Speicherort Ihres Schlüssels. Beispiel:global
oderus-central1
.PROJECT_NUMBER
: der Name des Projekts.
Die Ausgabe sieht etwa so aus:
- members: - serviceAccount:service-123456789012@container-engine-robot.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter ```
Wiederholen Sie den Backup for GKE-Vorgang. Wenn der Vorgang weiterhin fehlschlägt, wenden Sie sich an Cloud Customer Care.
Fehler 100020101: Fehler beim Sichern von PersistentVolumeClaim – PersistentVolumeClaim an einen nicht unterstützten PersistentVolume-Typ gebunden
Der Fehler 100020101
tritt auf, wenn der Versuch, eine PersistentVolumeClaim
zu sichern, fehlschlägt, weil die PersistentVolumeClaim
an einen nicht unterstützten PersistentVolume
-Typ gebunden ist. Der Fehler führt zu folgender Fehlermeldung:
PersistentVolumeClaims are bound to PersistentVolumes of unsupported types and cannot be backed up.
Dieser Fehler tritt auf, wenn bei Ihrem Sicherung für GKE-Vorgang ein PersistentVolumeClaim
gefunden wird, das an ein PersistentVolume
gebunden ist, das einen Volumetyp verwendet, der von Sicherung für GKE nicht für die Datensicherung unterstützt wird. Sicherung für GKE unterstützt in erster Linie die Sicherung von Daten aus nichtflüchtigen Speichervolumes. Wenn ein PersistentVolumeClaim
an ein PersistentVolume
gebunden ist, das kein nichtflüchtiger Speicher ist, schlägt der Sicherungsvorgang für die Daten des PersistentVolumeClaim
fehl.
Führen Sie die folgenden Schritte zur Fehlerbehebung aus, um das Problem zu beheben:
Führen Sie den Befehl
kubectl get pvc
aus, um allePersistentVolumeClaims
und die daran gebundenenPersistentVolumes
aufzulisten. Sehen Sie sich diese Liste an, um diePersistentVolumes
zu ermitteln, die von nicht unterstützten Volume-Typen unterstützt werden.kubectl get pvc --all-namespaces -o wide
Ermitteln Sie den Volumetyp des
PersistentVolume
, der von einem Volumetyp unterstützt wird, der von Backup for GKE nicht unterstützt wird, indem Sie den Befehlkubectl describe pv
ausführen:kubectl describe pv PERSISTENT_VOLUME_NAME
Ersetzen Sie Folgendes:
PERSISTENT_VOLUME_NAME
: Der Name vonPersistentVolume
, für das in der Ausgabe des vorherigen Schritts in SpalteVOLUME
ein nicht unterstützter Volumetyp aufgeführt ist.Verwenden Sie in der Ausgabe die Felder
Source
undDriver
, um Details zum Volume-Provisioner zu erhalten:Bei unterstützten nichtflüchtigen Speichern: Die Ausgabe sieht ähnlich aus wie
Source.Driver: pd.csi.storage.gke.io
oderSource.Type:GCEPersistentDisk
.Bei nicht unterstützten Typen, die den Fehler verursachen: Die Ausgabe wäre ein nichtflüchtiger Speicher-Treiber, z. B.
Source.Driver:filestore.csi.storage.gke.io
.
Verwenden Sie eine der folgenden Methoden, um den Fehler zu beheben:
Zu einem Persistent Disk-Volume migrieren: Wir empfehlen diese Methode für vollständige Datensicherungen. Wenn Sie die eigentlichen Volume-Daten sichern müssen, müssen Sie einen nichtflüchtigen Speicher verwenden. Dazu müssen Sie Ihre Daten vom nicht unterstützten Volume-Typ auf ein neues CSI-Volume für nichtflüchtige Speicher migrieren. Wenn Sie Unterstützung bei der Migration eines Persistent Disk-Volumes benötigen, wenden Sie sich an Cloud Customer Care.
Permissive Modus in Backup for GKE aktivieren: Diese Methode wird empfohlen, wenn für nicht unterstützte Volumes keine Datensicherung erforderlich ist. Wenn die Migration von Daten nicht möglich oder nicht erforderlich ist, z. B. wenn das Volume von einem externen Dienst unterstützt wird und Sie es während des Wiederherstellungsvorgangs wieder anhängen möchten, können Sie Ihren Sicherung für GKE-Sicherungsplan so konfigurieren, dass die Sicherung im permissiven Modus fortgesetzt wird. Weitere Informationen zum Aktivieren des moderaten Modus finden Sie unter Moderaten Modus in einem Sicherungsplan aktivieren.
Wiederholen Sie den Backup for GKE-Vorgang. Je nach der Methode, die Sie zum Beheben des Fehlers ausgewählt haben, verhält sich der Backup for GKE-Vorgang so:
Wenn Sie zu einem Persistent Disk-Volume migriert sind, sollte die Sicherung für das Volume einschließlich seiner Daten erfolgreich sein.
Wenn Sie den moderaten Modus aktiviert haben, sollte die Sicherung erfolgreich sein. Die Daten für nicht unterstützte Volumes werden jedoch nicht gesichert.
Wenn der Vorgang weiterhin fehlschlägt, wenden Sie sich an Cloud Customer Care.
Fehler 100020104: Fehler beim Sichern von PersistentVolumeClaim – PersistentVolumeClaim nicht an ein PersistentVolume gebunden
Der Fehler 100020104
tritt auf, wenn beim Versuch, eine PersistentVolumeClaim
zu sichern, ein Fehler auftritt, weil die PersistentVolumeClaim
nicht an ein PersistentVolume
gebunden ist. Der Fehler führt zu folgender Fehlermeldung: Failed to backup PVC - PVC Not Bound to a Persistent Volume
.
Dieser Fehler tritt auf, wenn bei Ihrem Backup for GKE-Vorgang versucht wird, ein PersistentVolumeClaim
zu sichern, das nicht erfolgreich an ein PersistentVolume
gebunden ist.
Ein PersistentVolumeClaim
muss an ein PersistentVolume
gebunden sein, bevor es von einer verarbeitenden Arbeitslast wie einem Pod verwendet und anschließend von Backup for GKE gesichert werden kann. Wenn sich die PersistentVolumeClaim
weiterhin im Status Pending
befindet, bedeutet das, dass keine geeignete PersistentVolume
verfügbar ist oder nicht bereitgestellt oder gebunden werden kann. Dies führt dazu, dass der Sicherungsvorgang fehlschlägt. Ein häufiger Grund dafür, dass ein PersistentVolumeClaim
nicht gebunden wird, ist, dass das zugehörige StorageClass
den Bindungsmodus WaitForFirstConsumer
verwendet, aber noch kein Pod oder eine andere Arbeitslast versucht, das PersistentVolumeClaim
zu nutzen.
Führen Sie die folgenden Schritte zur Fehlerbehebung aus, um das Problem zu beheben:
Führen Sie den Befehl
kubectl get pvc
aus, um den Status allerPersistentVolumeClaims
im Cluster zu prüfen und die nicht gebundenenPersistentVolumeClaim
zu ermitteln:kubectl get pvc --all-namespaces | grep `Pending`
Nachdem Sie die
PersistentVolumeClaim
identifiziert haben, die nicht an einePersistentVolume
gebunden ist, rufen Sie Informationen zur ungebundenenPersistentVolumeClaim
ab, indem Sie den Befehlkubectl describe pvc
ausführen:kubectl describe pvc PVC_NAME -n NAMESPACE_NAME
Ersetzen Sie Folgendes:
PVC_NAME
: der Name desPersistentVolumeClaim
, das nicht gesichert werden konnte.NAMESPACE_NAME
: Der Name des Namespace, in dem sichPersistentVolumeClaim
befindet.
Nachdem die Beschreibung angezeigt wird, können Sie anhand der Felder
Status
undEvents
feststellen, ob diePersistentVolumeClaim
an einePersistentVolume
gebunden ist. Wenn Sie immer noch nicht feststellen können, warum diePersistentVolumeClaim
nicht an einePersistentVolume
gebunden ist, oder das ermittelte Problem nicht beheben können, können Sie den moderaten Modus für Ihren Sicherungsplan aktivieren. Weitere Informationen zum Aktivieren des moderaten Modus finden Sie unter Moderaten Modus in einem Sicherungsplan aktivieren.