Pourquoi ma réservation de volume persistant reste-t-elle à l'état En attente ?

Dépannage des revendications de volumes persistants qui restent en attente pour l' Cloud Object Storage.

Cette rubrique d'identification et de résolution des incidents s'applique uniquement aux clusters Red Hat OpenShift exécutant la version 3.11.

Lorsque vous créez un PVC et que vous exécutez oc get pvc <pvc_name>, votre PVC reste dans un état En attente, même après avoir attendu un certain temps.

Durant la création et la liaison d'une réservation de volume persistant, de nombreuses tâches diverses sont exécutées par le plug-in IBM Cloud Object Storage. Chaque tâche peut échouer et entraîner un message d'erreur différent.

Décrivez votre réservation de volume persistant et consultez les messages d'erreur courants.

  1. Recherchez la cause première expliquant pourquoi la réservation de volume persistant reste à l'état En attente.
    oc describe pvc <pvc_name> -n <namespace>
    
  2. Passez en revue les descriptions et les résolutions relatives aux messages d'erreur courants.
Messages d'erreur liés au stockage par blocs
Message d'erreur Description Procédure de résolution
can't get credentials: can't get secret <secret_name>: secrets "<secret_name>" not found Le secret Kubernetes qui détient vos données d'identification de service IBM Cloud Object Storage n'existe pas dans le même espace de noms que celui de la réservation de volume persistant ou du pod. Voir La création de la réservation de volume persistant (PVC) ou du pod échoue car le secret Kubernetes est introuvable.
can't get credentials: Wrong Secret Type.Provided secret of type XXXX.Expected type ibm/ibmc-s3fs Le secret Kubernetes que vous avez créé pour votre instance de service IBM Cloud Object Storage n'inclut pas type: ibm/ibmc-s3fs. Editez le secret Kubernetes qui détient vos données d'identification IBM Cloud Object Storage à ajouter ou remplacez la valeur de type par ibm/ibmc-s3fs.
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> Le format du noeud final d'API s3fs ou du noeud final d'API IAM est incorrect, ou le noeud final d'API s3fs n'a pas pu être extrait en fonction de l'emplacement de votre cluster. Voir Echec de la création de réservation de volume persistant en raison d'un noeud final d'API s3fs incorrect.
object-path can't be set when auto create is enabled Vous avez spécifié un sous-répertoire existant dans votre compartiment que vous souhaitez monter sur votre réservation de volume persistant à l'aide de l'annotation ibm.io/object-path. Si vous définissez un sous-répertoire, vous devez désactiver la fonctionnalité de création automatique de compartiments. Dans votre réservation de volume persistant, définissez ibm.io/auto-create-bucket: "false" et indiquez le nom du compartiment existant dans ibm.io/bucket.
bucket auto-create must be enabled when bucket auto-delete is enabled Dans votre réservation de volume persistant, vous définissez ibm.io/auto-delete-bucket: true pour supprimer automatiquement vos données, le compartiment et le volume persistant lorsque vous retirez la réservation de volume persistant. Cette option nécessite que la propriété ibm.io/auto-create-bucket et la propriété true aient respectivement pour valeur ibm.io/bucket et "" au même moment. Dans votre réservation de volume persistant, définissez ibm.io/auto-create-bucket: true et ibm.io/bucket: "" de sorte que votre compartiment soit créé automatiquement avec un nom au format tmp-s3fs-xxxx.
bucket can't be set when auto-delete is enabled Dans votre réservation de volume persistant, vous définissez ibm.io/auto-delete-bucket: true pour supprimer automatiquement vos données, le compartiment et le volume persistant lorsque vous retirez la réservation de volume persistant. Cette option nécessite que la propriété ibm.io/auto-create-bucket et la propriété true aient respectivement pour valeur ibm.io/bucket et "" au même moment. Dans votre réservation de volume persistant, définissez ibm.io/auto-create-bucket: true et ibm.io/bucket: "" de sorte que votre compartiment soit créé automatiquement avec un nom au format tmp-s3fs-xxxx.
can't create bucket using API key without service-instance-id Si vous souhaitez utiliser des clés d'API IAM pour accéder à votre instance de service IBM Cloud Object Storage, vous devez stocker la clé d'API et l'ID de l'instance de service IBM Cloud Object Storage dans un secret Kubernetes. Voir Création d'un secret pour les données d'identification du service Object Storage.
object-path “<subdirectory_name>” not found inside bucket <bucket_name> Vous avez spécifié un sous-répertoire existant dans votre compartiment que vous souhaitez monter sur votre réservation de volume persistant à l'aide de l'annotation ibm.io/object-path. Ce sous-répertoire est introuvable dans le compartiment que vous avez spécifié. Vérifiez que le sous-répertoire que vous avez spécifié dans ibm.io/object-path existe dans le compartiment que vous avez indiqué dans ibm.io/bucket.
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. Vous avez défini ibm.io/auto-create-bucket: true et spécifié un nom de compartiment en même temps, ou vous avez indiqué un nom de compartiment qui existe déjà dans IBM Cloud Object Storage. Les noms de compartiment doivent être uniques dans toutes les instances de service et régions dans IBM Cloud Object Storage. Prenez soin de définir ibm.io/auto-create-bucket: false et de fournir un nom de compartiment qui est unique dans IBM Cloud Object Storage. Si vous souhaitez utiliser le plug-in IBM Cloud Object Storage pour créer automatiquement un nom de compartiment, définissez ibm.io/auto-create-bucket: true et ibm.io/bucket: "". Votre compartiment est créé avec un nom unique au format tmp-s3fs-xxxx. Si vous souhaitez spécifier un nom pour le compartiment créé automatiquement, définissez ibm.io/auto-create-bucket: true et ibm.io/auto-delete-bucket: false et ibm.io/bucket: "<bucket_name>".
can't access bucket <bucket_name>: NotFound: Not Found Vous avez tenté d'accéder à un compartiment que vous n'avez pas créé, ou la classe de stockage et le nœud final d'API s3fs que vous avez spécifiés ne correspondent pas à la classe de stockage et au nœud final d'API s3fs qui ont été utilisés lors de la création du compartiment. Voir Impossible d'accéder à un compartiment existant.
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 Les valeurs contenues dans votre secret Kubernetes ne sont pas correctement codées en base64. Passez en revue les valeurs contenues dans votre secret Kubernetes et codez chacune d'elles en base64. Vous pouvez également utiliser la commande oc create secret pour créer un nouveau secret et laisser Kubernetes coder automatiquement vos valeurs en base64.
can't access bucket <bucket_name>: Forbidden: Forbidden Vous avez spécifié ibm.io/auto-create-bucket: false et tenté d'accéder à un compartiment que vous n'avez pas créé, la clé d'accès secrète ou l'ID de clé d'accès de vos données d'identification HMAC IBM Cloud Object Storage sont incorrectes ou le noeud final régional du compartiment a été modifié. Vous ne pouvez pas accéder à un compartiement que vous n'avez pas créé. Créez automatiquement un compartiment au lieu de définir ibm.io/auto-create-bucket: true and ibm.io/bucket: "". Si vous êtes le propriétaire du compartiment, voir La création de la réservation de volume persistant échoue en raison de données d'identification incorrectes ou d'un accès refusé pour vérifier vos données d'identification.
can't create bucket <bucket_name>: AccessDenied: Access Denied Vous avez spécifié ibm.io/auto-create-bucket: true pour créer automatiquement un compartiment dans IBM Cloud Object Storage, mais le rôle d'accès de service IAM Lecteur est affecté aux données d'identification que vous avez indiquées dans le secret Kubernetes. Ce rôle ne permet pas la création de compartiment dans IBM Cloud Object Storage. Voir La création de la réservation de volume persistant échoue en raison de données d'identification incorrectes ou d'un accès refusé
can't create bucket <bucket_name>: AccessForbidden: Access Forbidden Vous avez spécifié ibm.io/auto-create-bucket: true et indiqué le nom d'un compartiment existant dans ibm.io/bucket. En outre, le rôle d'accès de service IAM Lecteur est affecté aux données d'identification que vous avez indiquées dans le secret Kubernetes. Ce rôle ne permet pas la création de compartiment dans IBM Cloud Object Storage. Pour utiliser un compartiment existant, définissez ibm.io/auto-create-bucket: false et indiquez le nom de votre compartiment existant dans ibm.io/bucket. Pour créer automatiquement un compartiment à l'aide de votre secret Kubernetes existant, définissez ibm.io/bucket: "" et suivez les instructions décrites dans la rubrique La création de la réservation de volume persistant échoue en raison de données d'identification incorrectes ou d'un accès refusé pour vérifier les données d'identification dans votre secret Kubernetes.
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 La clé d'accès secrète IBM Cloud Object Storage des données d'identification HMAC que vous avez fournies dans votre secret Kubernetes n'est pas correcte. Voir La création de la réservation de volume persistant échoue en raison de données d'identification incorrectes ou d'un accès refusé
can't create bucket <bucket_name>: InvalidAccessKeyId: The AWS Access Key ID you provided does not exist in our records L'ID de clé d'accès IBM Cloud Object Storage ou la clé d'accès secrète des données d'identification HMAC que vous avez fournies dans votre secret Kubernetes n'est pas correcte. Voir La création de la réservation de volume persistant échoue en raison de données d'identification incorrectes ou d'un accès refusé
can't create bucket <bucket_name>: CredentialsEndpointError: failed to load credentials
can't access bucket <bucket_name>: CredentialsEndpointError: failed to load credentials
La clé d'API IBM Cloud Object Storage de vos données d'identification IAM et l'identificateur global unique de votre instance de service IBM Cloud Object Storage ne sont pas corrects. Voir La création de la réservation de volume persistant échoue en raison de données d'identification incorrectes ou d'un accès refusé
TokenManagerRetrieveError: error retrieving the token Cette erreur se produit lorsque vous créez une réservation de volume persistant avec des données d'identification IAM sur un cluster qui ne dispose pas d'un accès sortant public. Si votre cluster ne dispose pas d'un accès sortant public, créez une instance d' IBM Cloud Object Storage qui utilise des identifiants HMAC.
set-access-policy not supported for classic cluster Cette erreur se produit lorsque vous installez le dans ibm-object-storage-plugin un cluster Classic et que vous activez l'option bucketAccessPolicy=true. Cette option bucketAccessPolicy=true n'est utilisée qu'avec les clusters VPC. Installez le plug-in et définissez l'option bucketAccessPolicy=false.