Désinstallation manuelle d' Instana, édition personnalisée
Vous pouvez désinstaller manuellement IBM Instana Custom Edition d'un environnement Kubernetes ou Red Hat OpenShift en supprimant les ressources personnalisées, les opérateurs, les magasins de données et les espaces de noms associés, dans l'ordre inverse de l'installation.
Avant de commencer
Avant de lancer la désinstallation, assurez-vous que les conditions préalables suivantes sont remplies :
- Les privilèges d'administrateur de cluster sont disponibles.
- Toutes les données de surveillance nécessaires ont été sauvegardées.
- Instana les agents sont arrêtés ou déconnectés du backend.
- Les fichiers de configuration personnalisés, les certificats et les informations de licence sont exportés s'ils doivent être réutilisés.
- Une fenêtre de maintenance est approuvée, le cas échéant.
A propos de cette tâche
Cette procédure s'applique aux déploiements qui ont été installés manuellement à l'aide des ressources personnalisées « Enterprise Operator », « Core » et « Unit » d' Instana. Le processus de désinstallation suit l'ordre inverse de la séquence d'installation afin de garantir que toutes les ressources dépendantes soient supprimées correctement et d'éviter la création d'objets orphelins dans Kubernetes.
Les étapes doivent être effectuées dans l'ordre suivant :
- Supprimer les ressources personnalisées de l'unité
- Supprimer la ressource personnalisée « Core »
- Désinstaller l'opérateur d'entreprise d' Instana
- Supprimer les composants du magasin de données
- Désinstaller « cert-manager »
- Supprimer les CRD « Instana »
- Supprimer les SCC (uniquement Red Hat OpenShift )
- Supprimer les rôles de cluster, les associations de rôles de cluster et les configurations de webhooks
Procédure
- Depuis votre terminal, vérifiez les ressources Unit existantes dans l'espace
instana-unitsde noms.Les ressources d'unité correspondent aux services d' Instana s propres à chaque locataire et dépendent de la ressource « Core ». Vous devez retirer les ressources de l'unité avant de supprimer le Core.
kubectl get units -n instana-unitsExemple de sortie :
NAME VERSION INSTANA VERSION DB MIGRATION STATUS COMPONENTS STATUS tenant0-unit0 1.2.0 3.289.589-0 Ready Ready - Supprimez les ressources de l'unité.
- Pour supprimer une ressource « Unit » par son nom, exécutez la commande suivante :
kubectl delete unit <unit-name> -n instana-units - Pour supprimer une ressource « Unit » à l'aide d'un fichier de configuration, exécutez la commande suivante :
kubectl delete -f path/to/unit.yaml
unit.instana.io "tenant0-unit0" deleted from instana-units namespace - Pour supprimer une ressource « Unit » par son nom, exécutez la commande suivante :
- Vérifiez que toutes les ressources de l'unité ont bien été retirées.
kubectl get units -n instana-unitsLa commande renvoie le message suivant :No resources found. - Répertoriez les secrets dans l'espace
instana-unitsde noms.kubectl get secrets -n instana-unitsExemple de sortie :
instana-registry kubernetes.io/dockerconfigjson 1 5h23m tenant0-unit0 Opaque 1 3h31m - Supprimez les
instana-registrysecrets ettenant0-unit0.kubectl delete secret instana-registry tenant0-unit0 -n instana-units - Supprimer l'espace
instana-unitsde noms.kubectl delete namespace instana-unitsnamespace "instana-units" deleted - Vérifiez les ressources Core existantes dans l'espace
instana-corede noms.Draft comment: Bob
Converted section 5 "Remove Core Resource" into task steps.La ressource « Core » fournit les services d'infrastructure partagés utilisés par toutes les unités.
kubectl get core -n instana-coreExemple de sortie :
instana-core 1.2.0 3.289.589-0 Ready Ready - Supprimez la ressource « Core » en utilisant l'une des méthodes suivantes.
- Supprimez la ressource « Core » en indiquant son nom :
kubectl delete core <core-name> -n instana-core - Supprimez la ressource Core à l'aide d'un fichier de configuration :
kubectl delete -f path/to/core.yaml
core.instana.io "instana-core" deleted from instana-core namespace - Supprimez la ressource « Core » en indiquant son nom :
- Vérifiez que la ressource Core a bien été supprimée.
kubectl get core -n instana-coreLa commande renvoie le message suivant :No resources found. Attendez que tous les pods et services liés à Core soient arrêtés avant de continuer. - Répertoriez les secrets dans l'espace
instana-corede noms.kubectl get secrets -n instana-coreExemple de sortie :
instana-core Opaque 1 3h42m instana-registry kubernetes.io/dockerconfigjson 1 5h34m instana-tls kubernetes.io/tls 2 4h1m instana-registrySupprimez les secrets,instana-core, etinstana-tls.kubectl delete secret instana-registry instana-core instana-tls -n instana-core- Facultatif : si votre déploiement s'effectue sur un cluster Red Hat OpenShift, supprimez les routes dans l'espace
instana-corede noms.Draft comment: Bob
Converted the OCP-specific route deletion note into an optional step with proper DITA importance attribute.Exécutez la commande suivante pour afficher la liste des routes :
oc get routes -n instana-coreExemple de sortie :
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD acceptor acceptor acceptor 8443 passthrough None base-domain base-domain.instana.fyre.ibm.com gateway https passthrough NoneSupprimez les itinéraires en indiquant le nom de chaque itinéraire :
oc delete route <route-name-1> <route-name-2> -n instana-coreExemple :
oc delete route acceptor base-domain opamp-acceptor otlp-grpc-acceptor otlp-http-acceptor unit0-tenant0-ui -n instana-core - Supprimer l'espace
instana-corede noms.kubectl delete namespace instana-core - Vérifiez les déploiements des opérateurs dans l'espace
instana-operatorde noms.Draft comment: Bob
Converted section 6 "Remove Instana Enterprise Operator" into task steps.L'opérateur d'entreprise gère le cycle de vie des ressources « Core » et « Unit » d' Instana. Une fois ces ressources supprimées, l'opérateur peut être retiré en toute sécurité.
kubectl get deployments -n instana-operatorExemple de sortie :
NAME READY UP-TO-DATE AVAILABLE AGE instana-operator 1/1 1 1 5h44m instana-operator-webhook 1/1 1 1 5h44m - Supprimez les déploiements de l'opérateur.
kubectl delete deployment instana-operator -n instana-operator kubectl delete deployment instana-operator-webhook -n instana-operator - Répertorier les services de l'espace
instana-operatorde noms.kubectl get svc -n instana-operatorExemple de sortie :
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE instana-operator-webhook ClusterIP 172.30.115.218 <none> 443/TCP 5h46m - Supprimez le
instana-operator-webhookservice.kubectl delete svc instana-operator-webhook -n instana-operator - Vérifiez que toutes les ressources de l'espace
instana-operatorde noms ont bien été supprimées.kubectl get all -n instana-operatorLa commande renvoie le message suivant :No resources found. Attendez que tous les pods « operator » et « webhook » soient arrêtés avant de continuer. - Supprimez le
instana-registrysecret de l'espaceinstana-operatorde noms.kubectl get secrets -n instana-operatorExemple de sortie :
instana-registry kubernetes.io/dockerconfigjson 1 5h55mkubectl delete secret instana-registry -n instana-operator - Supprimer l'espace
instana-operatorde noms.kubectl delete namespace instana-operator - Supprimez les composants du magasin de données en fonction de l'architecture de déploiement.Draft comment: Bob
Converted section 7 "Remove Datastore Components" into a single step with substeps per datastore. Each datastore is a separate substep group.Instana Custom Edition s'appuie sur plusieurs services de stockage de données en arrière-plan. Ne supprimez ces composants qu'après avoir supprimé les ressources « Core » et « Unit ».
- Supprimer Beeinstana et l'opérateur Beeinstana.
Remplacez « /path/to/configuration/file.yaml » par le chemin d'accès au fichier de configuration que vous avez utilisé pour déployer Beeinstana.
kubectl delete -f /path/to/configuration/file.yaml -n beeinstanaUne fois les pods Beeinstana supprimés, désinstallez l'opérateur Beeinstana :
helm uninstall beeinstana -n beeinstanaAttendez que tous les pods Beeinstana et les pods opérateurs Beeinstana soient arrêtés. Ensuite, supprimez les secrets :
kubectl get secrets -n beeinstanaExemple de sortie :
beeinstana-admin-creds Opaque 2 31h beeinstana-cas Opaque 0 31h beeinstana-kafka-creds Opaque 2 30h instana-registry kubernetes.io/dockerconfigjson 1 31hkubectl delete secret instana-registry beeinstana-admin-creds beeinstana-kafka-creds beeinstana-cas -n beeinstanaSupprimez les revendications de volume persistant (PVC) et l'espace de noms :
kubectl get pvc -n beeinstana kubectl delete pvc --all -n beeinstana kubectl delete namespace beeinstana - Supprimez « ClickHouse, », « ClickHouse Keeper » et l'opérateur « ClickHouse ».
kubectl delete -f clickhouse_installation.yaml -n instana-clickhouseUne fois les pods « ClickHouse » supprimés, désinstallez « ClickHouse Keeper » :
kubectl delete -f clickhouse_keeper.yaml -n instana-clickhouseUne fois que les fichiers « ClickHouse » et « ClickHouse Keeper » ont été supprimés, désinstallez l'opérateur « ClickHouse » :
helm uninstall clickhouse-operator -n instana-clickhouseAttendez que tous les pods soient arrêtés. Ensuite, supprimez la clé
instana-registrysecrète, les PVC et l'espace de noms :kubectl delete secret instana-registry -n instana-clickhouse kubectl get pvc -n instana-clickhouse kubectl delete pvc --all -n instana-clickhouse kubectl delete namespace instana-clickhouse - Supprimez « Cassandra » et l'opérateur « cass ».
kubectl delete -f cassandra.yaml -n instana-cassandraUne fois les pods « Cassandra » supprimés, désinstallez cass-operator :
helm uninstall cass-operator -n instana-cassandraAttendez que tous les pods soient arrêtés. Ensuite, supprimez les secrets, les PVC et l'espace de noms :
kubectl delete secret instana-registry instana-superuser -n instana-cassandra kubectl get pvc -n instana-cassandra kubectl delete pvc --all -n instana-cassandra kubectl delete namespace instana-cassandra - Supprimez « PostgreSQL » et l'opérateur « CNPG ».
kubectl delete -f postgres.yaml -n instana-postgresUne fois les pods « PostgreSQL » supprimés, désinstallez l'opérateur « CNPG » :
helm uninstall cnpg -n instana-postgresAttendez que tous les pods soient arrêtés. Ensuite, supprimez les secrets, les PVC et l'espace de noms :
kubectl delete secret instana-registry instanaadmin -n instana-postgres kubectl get pvc -n instana-postgres kubectl delete pvc --all -n instana-postgres kubectl delete namespace instana-postgres - Supprimez « Kafka », le contrôleur « Kafka » et l'opérateur « Strimzi ».
Supprimer le magasin de données « Kafka » :
kubectl delete -f kafka.yaml -n instana-kafkaSupprimer le contrôleur « Kafka » :
kubectl delete -f kafka-controller.yaml -n instana-kafkaSupprimer l'utilisateur « Kafka » :
kubectl delete -f strimzi-kafka-user.yaml -n instana-kafkaUne fois tous les pods « Kafka » et « controller » supprimés, désinstallez l'opérateur Strimzi :
helm uninstall strimzi-kafka-operator -n instana-kafkaAttendez que tous les pods soient arrêtés. Ensuite, supprimez les secrets, les PVC et l'espace de noms :
kubectl delete secret instana-registry -n instana-kafka kubectl get pvc -n instana-kafka kubectl delete pvc --all -n instana-kafka kubectl delete namespace instana-kafka - Supprimez « Elasticsearch » et l’opérateur « Elastic ».
kubectl delete -f elastic.yaml -n instana-elasticUne fois les pods « Elasticsearch » supprimés, désinstallez l'opérateur Elastic :
helm uninstall elastic-operator -n instana-elasticAttendez que tous les pods soient arrêtés. Ensuite, supprimez les secrets, les PVC et l'espace de noms :
kubectl delete secret instana-registry -n instana-elastic kubectl get pvc -n instana-elastic kubectl delete pvc --all -n instana-elastic kubectl delete namespace instana-elastic
- Supprimer Beeinstana et l'opérateur Beeinstana.
- Vérifiez que tous les espaces de noms des bases de données ont bien été supprimés.
kubectl get nsVérifiez qu'aucun pod ni espace de noms de stockage de données n'apparaît dans la sortie. - Désinstallez « cert-manager » en supprimant ses composants et son espace de noms.Draft comment: Bob
Converted section 8 "Uninstalling cert manager" into a task step.kubectl delete -f https://github.com/cert-manager/cert-manager/releases/download/v1.20.2/cert-manager.yamlAttendez que toutes les ressources et l'espacecert-managerde noms soient supprimés avant de continuer. - Supprimez les définitions de ressources personnalisées (CRD) « Core » et « Unit » de l' Instana.Draft comment: Bob
Converted section "Deleting the CRDs" into task steps. Separated Instana CRDs from datastore CRDs for clarity.Vérifiez que les CRD « Instana » existent :
kubectl get crd | grep instanaExemple de sortie :
cores.instana.io 2026-06-25T06:11:47Z units.instana.io 2026-06-25T06:11:47ZSupprimer les CRD :
kubectl delete crd cores.instana.io units.instana.io - Supprimez les CRD liés au magasin de données.
Énumérez les CRD associés aux magasins de données :
kubectl get crd --show-labels | grep -E 'cassandra|cnpg|kafka|strimzi|clickhouse|elastic|postgres|beeinstana'Supprimez les CRD répertoriés. L'exemple suivant présente tous les CRD attendus :
kubectl delete crd \ agents.agent.k8s.elastic.co \ apmservers.apm.k8s.elastic.co \ autoopsagentpolicies.autoops.k8s.elastic.co \ backups.postgresql.cnpg.io \ beats.beat.k8s.elastic.co \ cassandradatacenters.cassandra.datastax.com \ cassandratasks.control.k8ssandra.io \ clickhouseinstallations.clickhouse.altinity.com \ clickhouseinstallationtemplates.clickhouse.altinity.com \ clickhousekeeperinstallations.clickhouse-keeper.altinity.com \ clickhouseoperatorconfigurations.clickhouse.altinity.com \ clusterimagecatalogs.postgresql.cnpg.io \ clusters.postgresql.cnpg.io \ databases.postgresql.cnpg.io \ elasticmapsservers.maps.k8s.elastic.co \ elasticsearchautoscalers.autoscaling.k8s.elastic.co \ elasticsearches.elasticsearch.k8s.elastic.co \ enterprisesearches.enterprisesearch.k8s.elastic.co \ failoverquorums.postgresql.cnpg.io \ imagecatalogs.postgresql.cnpg.io \ kafkabridges.kafka.strimzi.io \ kafkaconnectors.kafka.strimzi.io \ kafkaconnects.kafka.strimzi.io \ kafkamirrormaker2s.kafka.strimzi.io \ kafkanodepools.kafka.strimzi.io \ kafkarebalances.kafka.strimzi.io \ kafkas.kafka.strimzi.io \ kafkatopics.kafka.strimzi.io \ kafkausers.kafka.strimzi.io \ kibanas.kibana.k8s.elastic.co \ logstashes.logstash.k8s.elastic.co \ packageregistries.packageregistry.k8s.elastic.co \ poolers.postgresql.cnpg.io \ publications.postgresql.cnpg.io \ scheduledbackups.postgresql.cnpg.io \ stackconfigpolicies.stackconfigpolicy.k8s.elastic.co \ subscriptions.postgresql.cnpg.io - Facultatif : si votre déploiement s'effectue sur un cluster Red Hat OpenShift, supprimez les contraintes de contexte de sécurité (SCC).Draft comment: Bob
Converted section 9 "Deleting the SCCs" into an optional OCP step.Énumérez les SCC associés à Instana :
oc get scc | grep -E "cassandra|clickhouse|instana|postgres|cnpg"Exemple de sortie :
cassandra-scc false <no value> RunAsAny MustRunAs RunAsAny RunAsAny <no value> false clickhouse-scc false <no value> RunAsAny MustRunAs RunAsAny RunAsAny <no value> falseSupprimer les SCC :
oc delete scc cassandra-scc clickhouse-scc - Supprimez les rôles de cluster, les associations de rôles de cluster et les configurations de webhooks associées à Instana.Draft comment: Bob
Converted section 10 into a task step. Condensed verbose explanation into a single actionable step with example output.Énumérez les ressources :
kubectl get clusterroles,clusterrolebindings,validatingwebhookconfigurations,mutatingwebhookconfigurations \ | grep -E "instana|cassandra|kafka|cnpg|postgres|elastic|clickhouse|beeinstana"Exemple de sortie :
clusterrole.rbac.authorization.k8s.io/instana-operator 2026-06-25T06:11:47Z clusterrole.rbac.authorization.k8s.io/instana-operator-webhook 2026-06-25T06:11:47Z clusterrolebinding.rbac.authorization.k8s.io/instana-operator ClusterRole/instana-operator 28h clusterrolebinding.rbac.authorization.k8s.io/instana-operator-webhook ClusterRole/instana-operator-webhook 28h validatingwebhookconfiguration.admissionregistration.k8s.io/instana-operator-webhook-validating 2 28hSupprimez les ressources répertoriées :
kubectl delete \ clusterrole/instana-operator \ clusterrole/instana-operator-webhook \ clusterrolebinding/instana-operator \ clusterrolebinding/instana-operator-webhook \ validatingwebhookconfiguration/instana-operator-webhook-validating
Résultats
L'édition personnalisée a été désinstallée. Toutes les ressources personnalisées, tous les opérateurs, tous les composants de stockage de données, tous les espaces de noms, tous les CRD et toutes les ressources RBAC sont supprimés du cluster.
Converted section 4 "Remove Unit Resources" into task steps. Verification substeps are added as info/stepresult elements for proper DITA structure.