Warum schlägt die Installation des IBM Cloud Object Storage-Plug-ins fehl?
Virtuelle Private Cloud Klassische Infrastruktur
Die Installation des IBM Cloud Object Storage Plug-ins schlägt aufgrund von Konflikten mit Ressourcen aus früheren Installationen fehl.
Wenn Sie ibm-object-storage-plugin installieren, schlägt die Installation fehl.
Sie erhalten eine Fehlermeldung ähnlich dem folgenden Beispiel:
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
Während der Installation führt das IBM Cloud Object Storage Plug-in viele verschiedene Aufgaben aus, wie z. B. das Erstellen von Speicherklassen und Cluster-Rollenbindungen. Möglicherweise sind in Ihrem Cluster bereits einige Ressourcen aus früheren IBM Cloud Object Storage Plug-in-Installationen vorhanden und wurden nicht ordnungsgemäß entfernt, als Sie das Plug-in entfernt oder aktualisiert haben.
Problemlösung
Löschen Sie die Ressource, die in der Fehlermeldung angezeigt wird, und versuchen Sie die Installation erneut.
-
Löschen Sie die Ressource, die in der Fehlernachricht angezeigt ist.
oc delete <resource_kind> <resource_name>Beispiel für das Löschen einer Speicherklassenressource:
oc delete storageclass <storage_class_name> -
Wenn Sie weiterhin den gleichen Fehler sehen, identifizieren Sie alle konfliktbehafteten Ressourcen von früheren Installationen und entfernen Sie sie.
-
Rufen Sie eine Liste der Speicherklassen ab, die von
ibmcloud-object-storage-pluginerstellt wurden.oc get sc --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' -
Rufen Sie eine Liste der Clusterrollenbindungen ab, die von
ibmcloud-object-storage-pluginerstellt wurden.oc get ClusterRoleBinding --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' -
Rufen Sie eine Liste der Rollenbindungen ab, die von
ibmcloud-object-storage-drivererstellt wurden.oc get RoleBinding --all-namespaces \ -l app=ibmcloud-object-storage-driver \ -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}' -
Rufen Sie eine Liste der Rollenbindungen ab, die von
ibmcloud-object-storage-pluginerstellt wurden.oc get RoleBinding --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}' -
Rufen Sie eine Liste der Clusterrollen ab, die von
ibmcloud-object-storage-pluginerstellt wurden.oc get ClusterRole --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' -
Rufen Sie eine Liste der Bereitstellungen ab, die von
ibmcloud-object-storage-pluginerstellt wurden.oc get deployments --all-namespaces \ -l app=ibmcloud-object-storage-plugin \ -o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}' -
Rufen Sie eine Liste der Dämongruppen ab, die von
ibmcloud-object-storage-drivererstellt wurden.
oc get DaemonSets --all-namespaces \
-l app=ibmcloud-object-storage-driver \
-o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}'
- Rufen Sie eine Liste der Servicekonten ab, die von
ibmcloud-object-storage-drivererstellt wurden.
oc get ServiceAccount --all-namespaces \
-l app=ibmcloud-object-storage-driver \
-o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}'
- Rufen Sie eine Liste der Servicekonten ab, die von
ibmcloud-object-storage-pluginerstellt wurden.
oc get ServiceAccount --all-namespaces \
-l app=ibmcloud-object-storage-plugin \
-o jsonpath='{range .items[*]}{.metadata.namespace}{"\t"}{.metadata.name}{"\n"}{end}'
- Löschen Sie die kollidierenden Ressourcen, die in den vorangegangenen Schritten identifiziert wurden.
oc delete <resource_kind> <resource_name>
-
Nach dem Löschen der in Konflikt stehenden Ressourcen wiederholen Sie die Installation.
-
Überprüfen Sie, ob das Plug-in erfolgreich installiert wurde.
oc get pods -n kube-system | grep object-storage