Why do I see wrong s3fs or IAM API endpoints when I create a PVC?
Virtual Private Cloud Classic infrastructure
When you create the PVC, the PVC remains in a pending state. After you run the kubectl describe pvc <pvc_name>
command, you see one of the following error messages:
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>
The s3fs API endpoint for the bucket that you want to use might have the wrong format, or your cluster is deployed in a location that is supported in IBM Cloud Kubernetes Service but is not yet supported by the IBM Cloud Object Storage plug-in.
Complete the following steps:
-
Check the s3fs API endpoint that was automatically assigned by the
ibmc
Helm plug-in to your storage classes during the IBM Cloud Object Storage plug-in installation. The endpoint is based on the location that your cluster is deployed to.kubectl get sc ibmc-s3fs-standard-regional -o yaml | grep object-store-endpoint
If the command returns
ibm.io/object-store-endpoint: NA
, your cluster is deployed in a location that is supported in IBM Cloud Kubernetes Service but is not yet supported by the IBM Cloud Object Storage plug-in. To add the location to the IBM Cloud Kubernetes Service, post a question in Slack or open an IBM Cloud support case. For more information, see Getting help and support. -
If you manually added the s3fs API endpoint with the
ibm.io/endpoint
annotation or the IAM API endpoint with theibm.io/iam-endpoint
annotation in your PVC, make sure that you added the endpoints in the formathttps://<s3fs_api_endpoint>
andhttps://<iam_api_endpoint>
. The annotation overwrites the API endpoints that are automatically set by theibmc
plug-in in the IBM Cloud Object Storage storage classes.kubectl describe pvc <pvc_name>