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
ibmcHelm 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-endpointIf 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/endpointannotation or the IAM API endpoint with theibm.io/iam-endpointannotation 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 theibmcplug-in in the IBM Cloud Object Storage storage classes.kubectl describe pvc <pvc_name>