Warum verbleibt mein PVC in einem Wartezustand?
Fehlerbehebung bei Persistent-Volume-Claims, die bei Cloud Object Storage im Status Pending verbleiben.
Dieser Abschnitt zur Fehlerbehebung gilt nur für Red Hat OpenShift-Cluster, auf denen Version 3.11 ausgeführt wird.
Wenn Sie einen PVC erstellen und oc get pvc <pvc_name> ausführen, verbleibt Ihr PVC auch nach einer Wartezeit im Status Anstehend.
Während der PVC-Erstellung und -Bindung werden vom IBM Cloud Object Storage-Plug-in viele verschiedene Tasks ausgeführt. Jede Task kann fehlschlagen und eine andere Fehlernachricht auslösen.
Beschreiben Sie Ihr PVC und prüfen Sie die üblichen Fehlermeldungen.
- Suchen Sie nach der Ursache dafür, dass der PVC im Zustand Pending (Anstehend) bleibt.
oc describe pvc <pvc_name> -n <namespace> - Prüfen Sie die Beschreibungen allgemeiner Nachrichten und die Hinweise zur Fehlerbehebung.
| Fehlernachricht | Beschreibung | Schritte zur Behebung |
|---|---|---|
can't get credentials: can't get secret <secret_name>: secrets "<secret_name>" not found |
Der geheime Kubernetes-Schlüssel, der Ihre IBM Cloud Object Storage-Serviceberechtigungsnachweise enthält, ist nicht in demselben Namensbereich wie der PVC oder Pod vorhanden. | Siehe PVC- oder Poderstellung schlägt fehl, weil der geheime Kubernetes-Schlüssel nicht gefunden wurde. |
can't get credentials: Wrong Secret Type.Provided secret of type XXXX.Expected type ibm/ibmc-s3fs |
Der geheime Kubernetes-Schlüssel, den Sie für Ihre IBM Cloud Object Storage-Serviceinstanz erstellt haben, enthält type: ibm/ibmc-s3fs nicht. |
Bearbeiten Sie den geheimen Kubernetes-Schlüssel, der Ihre IBM Cloud Object Storage-Berechtigungsnachweise enthält, um den Typ (type) in ibm/ibmc-s3fs zu ändern oder die Typangabe hinzuzufügen. |
Bad value for ibm.io/object-store-endpoint XXXX: scheme is missing. Must be of the form http://<hostname> or https://<hostname> Bad value for ibm.io/iam-endpoint XXXX: scheme is missing. Must be of the form http://<hostname> or https://<hostname> |
Der s3fs-API- oder IAM-API-Endpunkt hat das falsche Format oder der s3fs-API-Endpunkt konnte auf der Basis Ihres Clusterstandorts nicht abgerufen werden. | Siehe PVC-Erstellung schlägt aufgrund eines falschen s3fs-API-Endpunkts fehl. |
object-path can't be set when auto create is enabled |
Sie haben ein vorhandenes Unterverzeichnis in Ihrem Bucket angegeben, das Sie mit der Annotation ibm.io/object-path an Ihren PVC anhängen möchten. Wenn Sie ein Unterverzeichnis festlegen, müssen Sie die Funktion zur automatischen
Erstellung von Buckets deaktivieren. |
Legen Sie in Ihrem PVC ibm.io/auto-create-bucket: "false" fest und geben Sie den Namen des vorhandenen Buckets in ibm.io/bucket an. |
bucket auto-create must be enabled when bucket auto-delete is enabled |
Geben Sie in Ihrem PVC ibm.io/auto-delete-bucket: true an, damit die Daten, das Bucket und der PVC automatisch gelöscht werden, wenn Sie den PVC entfernen. Diese Option erfordert, dass ibm.io/auto-create-bucket auf true und ibm.io/bucket auf "" gesetzt ist. |
Legen Sie in Ihrem PVC ibm.io/auto-create-bucket: true und ibm.io/bucket: "" fest, sodass Ihr Bucket automatisch mit einem Namen im Format tmp-s3fs-xxxx erstellt wird. |
bucket can't be set when auto-delete is enabled |
Geben Sie in Ihrem PVC ibm.io/auto-delete-bucket: true an, damit die Daten, das Bucket und der PVC automatisch gelöscht werden, wenn Sie den PVC entfernen. Diese Option erfordert, dass ibm.io/auto-create-bucket auf true und ibm.io/bucket auf "" gesetzt ist. |
Legen Sie in Ihrem PVC ibm.io/auto-create-bucket: true und ibm.io/bucket: "" fest, sodass Ihr Bucket automatisch mit einem Namen im Format tmp-s3fs-xxxx erstellt wird. |
can't create bucket using API key without service-instance-id |
Wenn Sie IAM-API-Schlüssel für den Zugriff auf Ihre IBM Cloud Object Storage-Serviceinstanz verwenden möchten, müssen Sie den API-Schlüssel und die ID der IBM Cloud Object Storage-Serviceinstanz in einem geheimen Kubernetes-Schlüssel speichern. | Siehe Geheimen Schlüssel für die Berechtigungsnachweise des Objektspeicherservice erstellen. |
object-path “<subdirectory_name>” not found inside bucket <bucket_name> |
Sie haben ein vorhandenes Unterverzeichnis in Ihrem Bucket angegeben, das Sie mit der Annotation ibm.io/object-path an Ihren PVC anhängen möchten. Dieses Unterverzeichnis konnte in dem Bucket, das Sie angegeben haben, nicht
gefunden werden. |
Stellen Sie sicher, dass das Unterverzeichnis, das Sie in ibm.io/object-path angegeben haben, in dem Bucket vorhanden ist, das Sie in ibm.io/bucket angegeben haben. |
BucketAlreadyExists: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again. |
Sie haben ibm.io/auto-create-bucket: true festgelegt und gleichzeitig einen Bucketnamen angegeben oder Sie haben einen Bucketnamen angegeben, der in IBM Cloud Object Storage bereits vorhanden ist. Bucketnamen müssen für alle
Serviceinstanzen und -regionen in IBM Cloud Object Storage eindeutig sein. |
Stellen Sie sicher, dass Sie ibm.io/auto-create-bucket: false festlegen und einen Bucketnamen angeben, der in IBM Cloud Object Storage eindeutig ist. Wenn Sie das IBM Cloud Object Storage-Plug-in verwenden möchten, um automatisch
einen Bucketnamen für Sie zu erstellen, legen Sie ibm.io/auto-create-bucket: true und ibm.io/bucket: "" fest. Ihr Bucket wird mit einem eindeutigen Namen im Format tmp-s3fs-xxxx erstellt.
Wenn Sie einen Bucket-Namen für den automatisch erstellten Bucket festlegen möchten, setzen Sie und ibm.io/auto-create-bucket: true ibm.io/auto-delete-bucket: false sowie ibm.io/bucket: "<bucket_name>". |
can't access bucket <bucket_name>: NotFound: Not Found |
Sie haben versucht, auf ein Bucket zuzugreifen, das Sie nicht erstellt haben, oder die Speicherklasse und der angegebene s3fs-API-Endpunkt stimmen nicht mit der Speicherklasse und dem s3fs-API-Endpunkt überein, die bei der Erstellung des Buckets verwendet wurden. | Siehe Zugriff auf vorhandenes Bucket nicht möglich. |
Put https://s3-api.dal-us-geo.objectstorage.service.networklayer.com/<bucket_name>: net/http: invalid header field value "AWS4-HMAC-SHA256 Credential=1234a12a123a123a1a123aa1a123a123 \n/20190412/us-standard/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=12aa1abc123456aabb12aas12aa123456sb123456abc" for key Authorization |
Die Werte in Ihrem geheimen Kubernetes-Schlüssel sind nicht ordnungsgemäß mit Base64 codiert. | Überprüfen Sie die Werte in Ihrem geheimen Kubernetes-Schlüssel und codieren Sie jeden Wert mit Base64. Sie können auch den Befehl oc create secret verwenden, um einen neuen geheimen Schlüssel zu erstellen und Kubernetes automatisch Ihre Werte mit Base64 codieren zu lassen. |
can't access bucket <bucket_name>: Forbidden: Forbidden |
Sie haben ibm.io/auto-create-bucket: false angegeben und versucht, auf ein Bucket zuzugreifen, das Sie nicht erstellt haben, oder der geheime Zugriffsschlüssel oder die Zugriffsschlüssel-ID Ihrer IBM Cloud Object Storage HMAC-Berechtigungsnachweise
sind falsch oder der regionale Endpunkt des Buckets hat sich geändert. |
Sie können nicht auf ein Bucket zugreifen, das Sie nicht erstellt haben. Erstellen Sie automatisch ein Bucket und geben Sie dazu nicht ibm.io/auto-create-bucket: true und ibm.io/bucket: "" an. Wenn Sie
Eigner des Buckets sind, finden Sie unter PVC-Erstellung schlägt wegen falscher Berechtigungsnachweise fehl oder Zugriff verweigert Informationen zum Prüfen Ihrer Berechtigungsnachweise. |
can't create bucket <bucket_name>: AccessDenied: Access Denied |
Sie haben ibm.io/auto-create-bucket: true angegeben, um automatisch ein Bucket in IBM Cloud Object Storage zu erstellen, aber die Berechtigungsnachweise, die Sie im geheimen Kubernetes-Schlüssel angegeben haben, sind der IAM-Servicezugriffsrolle
Leseberechtigter zugeordnet. Diese Rolle lässt die Bucketerstellung in IBM Cloud Object Storage nicht zu. |
Siehe PVC-Erstellung schlägt wegen falscher Berechtigungsnachweise fehl oder Zugriff verweigert. |
can't create bucket <bucket_name>: AccessForbidden: Access Forbidden |
Sie haben ibm.io/auto-create-bucket: true festgelegt und in ibm.io/bucket den Namen eines vorhandenen Buckets angegeben. Außerdem sind die Berechtigungsnachweise, die Sie im geheimen Kubernetes-Schlüssel angegeben
haben, der IAM-Servicezugriffsrolle Leseberechtigter zugeordnet. Diese Rolle lässt die Bucketerstellung in IBM Cloud Object Storage nicht zu. |
Legen Sie ibm.io/auto-create-bucket: false fest und geben Sie in ibm.io/bucket den Namen Ihres vorhandenen Buckets an, um ein vorhandenes Bucket zu verwenden. Wenn Sie ein Bucket automatisch erstellen möchten, indem
Sie Ihren vorhandenen geheimen Kubernetes-Schlüssel verwenden, legen Sie ibm.io/bucket: "" fest und befolgen Sie die Anweisungen in PVC-Erstellung schlägt wegen falscher Berechtigungsnachweise fehl oder Zugriff verweigert zum Prüfen der Berechtigungsnachweise in Ihrem geheimen Kubernetes-Schlüssel. |
can't create bucket <bucket_name>: SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. For more information, see REST Authentication and SOAP Authentication for details |
Der geheime IBM Cloud Object Storage-Zugriffsschlüssel Ihrer HMAC-Berechtigungsnachweise, den Sie in Ihrem geheimen Kubernetes-Schlüssel angegeben haben, ist nicht korrekt. | Siehe PVC-Erstellung schlägt wegen falscher Berechtigungsnachweise fehl oder Zugriff verweigert. |
can't create bucket <bucket_name>: InvalidAccessKeyId: The AWS Access Key ID you provided does not exist in our records |
Die IBM Cloud Object Storage-Zugriffsschlüssel-ID oder der geheime Zugriffsschlüssel Ihrer HMAC-Berechtigungsnachweise, den Sie in Ihrem geheimen Kubernetes-Schlüssel angegeben haben, ist nicht korrekt. | Siehe PVC-Erstellung schlägt wegen falscher Berechtigungsnachweise fehl oder Zugriff verweigert. |
can't create bucket <bucket_name>: CredentialsEndpointError: failed to load credentialscan't access bucket <bucket_name>: CredentialsEndpointError: failed to load credentials |
Der IBM Cloud Object Storage-API-Schlüssel Ihrer IAM-Berechtigungsnachweise und die GUID Ihrer IBM Cloud Object Storage-Serviceinstanz sind nicht korrekt. | Siehe PVC-Erstellung schlägt wegen falscher Berechtigungsnachweise fehl oder Zugriff verweigert. |
TokenManagerRetrieveError: error retrieving the token |
Dieser Fehler tritt auf, wenn Sie eine PVC mit IAM-Berechtigungsnachweisen in einem Cluster erstellen, der nicht über öffentlichen ausgehenden Zugriff verfügt. | Wenn Ihr Cluster keinen öffentlichen ausgehenden Zugriff hat, erstellen Sie eine IBM Cloud Object Storage-Instanz, die HMAC-Anmeldedaten verwendet. |
set-access-policy not supported for classic cluster |
Dieser Fehler tritt auf, wenn Sie das in ibm-object-storage-plugin einem Classic-Cluster installieren und die Option bucketAccessPolicy=true festlegen. Die Option bucketAccessPolicy=true wird nur bei
VPC-Clustern verwendet. |
Installieren Sie das Plug-in und legen Sie die Option bucketAccessPolicy=false fest. |