Warum sehe ich falsche s3fs oder IAM API-Endpunkte, wenn ich einen PVC erstelle?

Fehlerbehebung bei Persistent-Volume-Claims, die aufgrund von Fehlern bei S3FS und IAM-Endpunkten fehlschlagen.

Virtuelle Private Cloud Klassische Infrastruktur

Wenn Sie den PVC erstellen, bleibt der PVC im Wartestatus (pending). Nach der Ausführung des Befehls kubectl describe pvc <pvc_name> wird eine der folgenden Fehlernachrichten angezeigt:

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-Endpunkt für das Bucket, das Sie verwenden möchten, hat möglicherweise das falsche Format oder Ihr Cluster wird an einer Position bereitgestellt, die in IBM Cloud Kubernetes Service unterstützt wird, aber vom IBM Cloud Object Storage-Plug-in noch nicht unterstützt wird.

Führen Sie die folgenden Schritte aus:

  1. Überprüfen Sie den s3fs-API-Endpunkt, der Ihren Speicherklassen während der Installation des IBM Cloud Object Storage-Plug-ins vom Helm-Plug-in ibmc automatisch zugeordnet wurde. Der Endpunkt basiert auf dem Standort, an dem Ihr Cluster bereitgestellt wird.

    kubectl get sc ibmc-s3fs-standard-regional -o yaml | grep object-store-endpoint
    

    Wenn der Befehl ibm.io/object-store-endpoint: NA zurückgibt, wurde Ihr Cluster an einem Standort bereitgestellt, der in IBM Cloud Kubernetes Service unterstützt wird, aber vom IBM Cloud Object Storage-Plug-in noch nicht unterstützt wird. Um den Standort in die IBM Cloud Kubernetes Service aufzunehmen, eröffnen Sie einen Supportfall unter IBM Cloud. Weitere Informationen finden Sie im Abschnitt Hilfe und Unterstützung anfordern.

  2. Wenn Sie den API-Endpunkt s3fs manuell mit der Annotation ibm.io/endpoint oder den IAM-API-Endpunkt mit der Annotation ibm.io/iam-endpoint in Ihrem PVC hinzugefügt haben, müssen Sie die Endpunkte im Format https://<s3fs_api_endpoint> und https://<iam_api_endpoint> hinzufügen. Die Annotation überschreibt die API-Endpunkte, die vom Plug-in ibmc in den IBM Cloud Object Storage-Speicherklassen automatisch festgelegt werden.

    kubectl describe pvc <pvc_name>