Pourquoi l'installation du plug-in IBM Cloud Object Storage échoue t'elle ?
Cloud privé virtuel Infrastructure classique
L'installation du plug-in IBM Cloud Object Storage échoue en raison de ressources conflictuelles provenant d'installations précédentes.
Lorsque vous installez le site ibm-object-storage-plugin, l'installation échoue.
Un message d'erreur similaire à l'exemple suivant s'affiche :
Error: rendered manifest contains a resource that already exists. Unable to continue with install. Existing resource conflict: namespace: , name: ibmc-s3fs-smart-cross-region, existing_kind: storageClass, new_kind: storage.k8s.io/v1, Kind=StorageClass
Error: plugin "ibmc" exited with error
Lors de l'installation, le plug-in IBM Cloud Object Storage exécute de nombreuses tâches différentes, telles que la création de classes de stockage et de liaisons de rôles de cluster. Certaines ressources peuvent déjà exister dans votre cluster à partir d'installations précédentes du plug-in IBM Cloud Object Storage et n'ont pas été correctement supprimées lors de la suppression ou de la mise à jour du plug-in.
Résolution du problème
Supprimez la ressource affichée dans le message d'erreur et réessayez l'installation.
-
Supprimez la ressource qui s'affiche dans le message d'erreur.
oc delete <resource_kind> <resource_name>Exemple de suppression de la ressource d'une classe de stockage :
oc delete storageclass <storage_class_name> -
Si l'erreur persiste, identifiez et supprimez toutes les ressources conflictuelles provenant d'installations antérieures.
-
Obtenez une liste des classes de stockage qui sont créées par
ibmcloud-object-storage-plugin.oc get sc --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' -
Obtenez une liste des liaisons de rôle de cluster qui sont créées par
ibmcloud-object-storage-plugin.oc get ClusterRoleBinding --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' -
Obtenez une liste des liaisons de rôle qui sont créées par
ibmcloud-object-storage-driver.oc get RoleBinding --all-namespaces \ -l app=ibmcloud-object-storage-driver \ -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}' -
Obtenez une liste des liaisons de rôle qui sont créées par
ibmcloud-object-storage-plugin.oc get RoleBinding --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}' -
Obtenez une liste des rôles de cluster qui sont créés par
ibmcloud-object-storage-plugin.oc get ClusterRole --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' -
Obtenez une liste des déploiements qui sont créés par
ibmcloud-object-storage-plugin.oc get deployments --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}' -
Obtenez une liste des ensembles de démons qui sont créées par
ibmcloud-object-storage-driver.
oc get DaemonSets --all-namespaces \
-l app=ibmcloud-object-storage-driver \
-o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}'
- Obtenez une liste des comptes de service qui sont créées par
ibmcloud-object-storage-driver.
oc get ServiceAccount --all-namespaces \
-l app=ibmcloud-object-storage-driver \
-o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}'
- Obtenez une liste des comptes de service qui sont créées par
ibmcloud-object-storage-plugin.
oc get ServiceAccount --all-namespaces \
-l app=ibmcloud-object-storage-plugin \
-o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}'
- Supprimer les ressources conflictuelles identifiées dans les étapes précédentes.
oc delete <resource_kind> <resource_name>
-
Après avoir supprimé les ressources en conflit, relancez l'installation.
-
Vérifiez que l'installation du plug-in s'est déroulée correctement.
oc get pods -n kube-system | grep object-storage