Mise à niveau de l'édition personnalisée

Vous pouvez mettre à niveau l'édition personnalisée à l'aide du plug-in « kubectl ».

Le plug-in Instana kubectl et l'opérateur Instana Enterprise sont toujours commercialisés ensemble. Les mises à jour du backend d' Instana s sont indépendantes des versions de l'opérateur d' Instana Enterprise.

Vous pouvez utiliser le plugin Instana kubectl pour vérifier les versions prises en charge du backend Instana et mettre à jour ce dernier si nécessaire. Après jusqu'à quatre mises à jour du backend d' Instana, une nouvelle version de l'opérateur Instana Enterprise est disponible.
Important : la restauration du backend d' Instana s après une mise à jour n'est pas prise en charge pour l'édition personnalisée.

Pour mettre à niveau Custom Edition en ligne, consultez la section « Mise à niveau de Custom Edition en ligne ».

Pour mettre à niveau Custom Edition dans un environnement isolé, consultez la section « Mise à niveau de Custom Edition dans un environnement isolé ».

Tableau de compatibilité pour l'édition personnalisée

Avant d'installer, de mettre à niveau ou de migrer Custom Edition, il est important de vous assurer que tous les composants de votre déploiement sont compatibles. Chaque version de Custom Edition ne prend en charge que certaines versions spécifiques du backend d' Instana, et l'utilisation de combinaisons non prises en charge peut entraîner des échecs de déploiement ou un comportement inattendu. Le tableau de compatibilité vous aide à déterminer quelles versions du backend d' Instana s sont prises en charge pour une version de l'édition personnalisée.

Vous devez utiliser ce tableau lors de la planification de votre déploiement afin de choisir une combinaison valide entre l'édition personnalisée et les versions du backend. Utilisez ce tableau pour :

  • Identifiez les versions du backend d' Instana s compatibles avec la version de Custom Edition que vous avez choisie
  • Vérifiez les combinaisons de versions avant l'installation ou la mise à niveau
  • Planifiez les mises à niveau en identifiant les versions cibles prises en charge.

Le tableau suivant répertorie la version de Custom Edition et les versions du backend d' Instana s qui sont compatibles.

Tableau 1. Versions compatibles avec l'édition personnalisée
Version édition personnalisée Instana version du backend
1.11.x 3.319
1.10.x 3.317
1.9.x 3.315
1.8.x 3.313, 3.311, 3.309
1.7.x 3.307, 3.305
1.6.x 3.303, 3.301
1.5.x 3.299
1.4.x 3.297, 3.295
1.3.x 3.293
1.2.x 3.291, 3.289, 3.287
1.1.x 3.285, 3.283, 3.281

Prérequis

Assurez-vous que les conditions préalables suivantes sont remplies avant de mettre à niveau l' Instana :

  • Le groupe dispose d'une capacité adéquate. Si le cluster est proche de sa capacité de demande, ajoutez un nœud supplémentaire pour éviter que les pods ne soient bloqués dans le statut Pending.
  • Les nœuds de l' Elasticsearch t disposent d'un espace disque suffisant. Si l'utilisation du disque dépasse 80 %, les nœuds d' Elasticsearch passent automatiquement en mode lecture seule, ce qui peut entraîner un blocage de la mise à niveau ou un échec silencieux de celle-ci.
  • Les versions du magasin de données sont compatibles avec la version d' Instana vers laquelle vous souhaitez effectuer la mise à niveau. Pour les versions des magasins de données, consultez la section « Installation d'opérateurs de magasins de données tiers ».

Procédure de mise à niveau

Le plug-in Instana kubectl et l'opérateur Instana Enterprise sont toujours commercialisés ensemble. Les mises à jour du backend d' Instana s sont indépendantes des versions de l'opérateur d' Instana Enterprise.

Vous pouvez utiliser le plugin Instana kubectl pour vérifier les versions prises en charge du backend Instana et mettre à jour ce dernier si nécessaire. Après jusqu'à quatre mises à jour du backend d' Instana, une nouvelle version de l'opérateur Instana Enterprise est disponible.

Mise à niveau de l'opérateur

Lorsqu'une nouvelle version de l'opérateur Enterprise d' Instana est disponible, vous pouvez mettre à niveau l'opérateur en suivant les étapes suivantes :

  1. Installez la version souhaitée du plug-in Instana kubectl. Le plug-in Instana kubectl et l' Instana Enterprise Operator sont gérés par versions, veillez donc à installer la version du plug-in qui correspond à celle de l'Operator que vous installez. Pour plus d'informations, consultez la section Installation du plug-in kubectl Instana.

  2. Mettez à niveau l'opérateur en utilisant l'une des méthodes suivantes, le nouvel opérateur étant appliqué avec la version par défaut du backend d' Instana :

    Remarques :

    • Veillez à appliquer ou à générer de nouveaux manifestes d' YAML. Ne modifiez pas directement la version de l'image dans les manifestes existants d' YAML. Si vous mettez à jour la version de l'image dans les manifestes existants d' YAML, vous risquez de passer à côté des mises à jour des CRD ( CustomResourceDefinition ) ou d'autres modifications susceptibles d'entraîner des erreurs imprévisibles.

    • Pour effectuer une mise à niveau vers une version spécifique, vous devrez peut-être effectuer des actions supplémentaires. Reportez-vous à la section Remarques sur la mise à niveau . Lorsque vous sautez une version, veillez à prendre en compte les notes de mise à niveau (y compris les notes de mise à niveau pour la version sautée et la version cible).

Mise à niveau du backend

À partir de la version 1.0.0, vous pouvez mettre à jour le backend Instana dès la sortie de nouvelles versions.
Remarque : pour les versions antérieures, jusqu'à la version 279 du backend, de stanctl 1.6.0 ou d'Operator 1.0.0, vous devez mettre à niveau le backend par paliers ne dépassant pas deux versions. Par exemple, vous ne pouvez passer à la version 279 qu'à partir de la version 275 ou d'une version ultérieure. Pour plus d'informations, consultez la documentation relative aux anciennes versions d' Instana.
  1. Pour passer à une version plus récente du backend d' Instana, vous pouvez utiliser les sous-commandes suivantes de la versions commande. Toutes les commandes ont un drapeau optionnel --download-key. Si vous ne spécifiez pas cet indicateur, la clé de téléchargement de l'installation existante est utilisée.

    • La identify sous-commande fournit une liste des versions actuellement disponibles du backend Instana qui sont compatibles avec l 'édition personnalisée installée.
    • Cette list-images sous-commande affiche une liste des images de l'opérateur Instana Kubernetes et de tous les composants Instana. Vous pouvez utiliser l'indicateur --instana-version pour spécifier la version de l'opérateur. Si vous n'utilisez pas l'indicateur, toutes les versions disponibles de l'opérateur sont répertoriées et vous pouvez alors sélectionner une version.
    • La commande update met à jour une installation existante vers une nouvelle version. Vous pouvez spécifier la version de mise à niveau en utilisant le drapeau --instana-version. Sinon, toutes les versions de mise à niveau prises en charge sont affichées. Vous pouvez ensuite sélectionner une version. Vous pouvez également configurer la version du backend vers laquelle vous souhaitez effectuer la mise à niveau dans la spécification principale, puis appliquer cette spécification. Reportez-vous à l'exemple de code suivant.
      ...
      spec:
        imageConfig:
          tag: 3.xxx.xxx-0
      ...
       
  2. Vérifiez la mise à niveau du backend d' Instana en exécutant les commandes suivantes :

    kubectl get core -n instana-core
     
    kubectl get units -n instana-units
     

Remarques relatives à la mise à niveau

Voir les notes suivantes pour les exigences spécifiques à la version.

Mise à niveau vers la version 1.11.x

Aucune procédure particulière n'est requise pour effectuer la mise à niveau à partir de la version 1.10.0.

Remarque : l'édition personnalisée 1.11.x n'est pas encore prise en charge sur IBM Z et LinuxONE.

Mise à niveau vers la version 1.10.x

Aucune procédure particulière n'est nécessaire pour effectuer la mise à jour à partir de la version 1.9.0.

Remarque : l'édition personnalisée 1.10.x n'est pas encore prise en charge sur IBM Z et LinuxONE.

Mise à niveau vers la version 1.9.x

Aucune procédure particulière n'est nécessaire pour effectuer la mise à jour à partir de la version 1.8.0.

Remarque : l'édition personnalisée « 1.9.x » n'est prise en charge que sur Linux x86_64.
Remarque : l'édition personnalisée 1.9.x n'est pas encore prise en charge sur Power ( ppc64le ), IBM Z et LinuxONE.

Mise à niveau vers la version 1.8.0

Remarque : l'édition personnalisée 1.8.0 n'est prise en charge que sur Linux x86_64.
Remarque : l'édition personnalisée 1.8.0 n'est pas encore prise en charge sur Power ( ppc64le ), IBM Z et LinuxONE.

Mettez à jour le magasin de données d' ClickHouse. vers la version 25.8.6.11. Utilisez la version avec 25.8.13.73-2-lts-ibmimage.

Mettez à jour le magasin de données d' ClickHouseKeeper. vers la version 25.8.6.11. Utilisez la version avec 25.8.13.73-2-lts-ibmimage.

Mise à niveau vers la version 1.7.0

Aucune procédure particulière n'est nécessaire pour effectuer la mise à niveau à partir de la version 1.6.0.

Mise à niveau vers la version 1.6.0

Aucune procédure particulière n'est nécessaire pour effectuer la mise à niveau à partir de la version 1.5.0.

Mise à niveau vers la version 1.5.0

La fonctionnalité obsolète depuis longtemps downloadKey dans Core Secret a été supprimée. Elle est désormais lue uniquement à partir du secret de l'unité. Si votre installation contient encore le downloadKey dans Core Secret, vous devez la mettre à jour et le déplacer vers Unit Secret.

Pour configurer le secret de l'unité, consultez la section « Secret de l'unité ».

Mise à niveau vers la version 1.4.0

Aucune procédure particulière n'est requise pour effectuer la mise à niveau à partir de la version 1.3.0.

Mise à niveau vers la version 1.3.0

Avant de passer à l' 1.3.0, effectuez les opérations suivantes :

  • La configuration des images pour les déploiements d' Instana Enterprise Operator et d' Webhook est distincte. Mettez à jour les fichiers de valeurs personnalisées de votre plug-in kubectl en vous référant aux nouvelles options de configuration de l'opérateur Instana Enterprise.

  • Facultatif : si vous prévoyez d'activer le nouveau contrôleur de passerelle pour gérer le trafic entrant dans votre environnement Custom Edition, procédez aux modifications de configuration suivantes :

    • Activez le contrôleur de passerelle; pour plus d'informations, consultez la section « Configuration de la passerelle ».
    • Mettez à jour les libellés des sélecteurs de votre équilibreur de charge Gateway .spec.selector["app.kubernetes.io/component"]: gateway en utilisant les entrées indiquées dans l'exemple suivant :
    apiVersion: v1
    kind: Service
    metadata:
      namespace: instana-core
      name: loadbalancer-gateway
    spec:
      type: LoadBalancer
      ...
      selector:
        ...
        app.kubernetes.io/component: gateway-v2
        ...
     

    Cette mise à jour vise à garantir que le trafic entrant soit redirigé vers les nouveaux pods du composant Gateway-v2.

  • Mettez à niveau le magasin de données d' ClickHouse vers la version 24.8.x. Utilisez la version avec 24.8.12.28-5-lts-ibmimage.

  • Mettez à niveau le magasin de données d' Elasticsearch vers la version 8.x. Pour mettre à niveau le magasin de données, modifiez la configuration de votre Elasticsearch comme indiqué dans l'exemple suivant afin d'éviter toute interruption :

Remplacez :

config:
      node.master: true
      node.data: true
      node.ingest: true
 

avec :

    config:
      node.roles:
        - master
        - data
        - ingest
 

De plus, utilisez la version de l'image 8.15.3_v0.15.0 et mettez à jour le fichier spec.version dans votre manifeste Elasticsearch afin qu'il corresponde à la version mise à jour de l'image, ce qui permettra d'éviter les erreurs lors de la mise à niveau.

Mise à niveau vers la version 1.2.0

Avant de passer à l' 1.2.0, effectuez les opérations suivantes :

  • Dans la ressource ClickHouseInstallation personnalisée, désactivez l'analyseur de requêtes en ajoutant default/allow_experimental_analyzer: "0" dans la section « profiles ».
  • Mettez à niveau le magasin de données d' ClickHouse vers la version 24.3. Utiliser la version avec 24.3.12.75-lts-ibmimage.
Remarque : si vous utilisez des serveurs Linux® on Power® ( ppc64le ), ne mettez pas à jour la version de l'image vers 24.3.12.75-lts-ibm. Utilisez plutôt la version de 23.3.2.37-4-lts-ibml'image.

Si vous effectuez une mise à niveau à partir de versions antérieures à 1.0.0, consultez les modifications apportées au schéma des versions ainsi que les changements concernant la gestion du plug-in kubectl.

Mise à niveau vers la version 1.1.0

Aucune mesure particulière n'est nécessaire pour passer de la version 1.0.0 à la version supérieure.

Si vous effectuez une mise à niveau à partir de versions antérieures à 1.0.0, consultez les modifications apportées au schéma des versions ainsi que les changements concernant la gestion du plug-in kubectl.

Mise à niveau vers la version 1.0.0

Les notes générales de mise à niveau et le schéma des versions ont été modifiés. Toutefois, pour les mises à jour du backend d' Instana concernant la version 1.0.0, aucune mesure particulière n'est requise.

Mise à niveau vers la version 277

Si vous effectuez une mise à niveau à partir de la version 273 ou d'une version antérieure, suivez les étapes décrites dans Mise à niveau vers la version 275. Aucune étape particulière n'est nécessaire pour effectuer une mise à niveau à partir de la version 275.

Mise à niveau vers la version 275

À partir de la version 275 d' Instana, une nouvelle table a été ajoutée à la base de données logs ClickHouse. Celle-ci utilise le mécanisme TTL ( ClickHouse ) pour transférer automatiquement les données vers un espace de stockage à faible activité au fil du temps, puis les supprimer selon les besoins.

La configuration du magasin de données ClickHouse doit être mise à jour pour que les migrations release-275 soient appliquées.

Procédez comme suit:

  1. Configurez le backend de votre Instana en maintenance mode en mettant à jour la spécification Core :
    kubectl patch core <core_name> -n <core_namespace> --type='merge' -p='{"spec": {"operationMode": "maintenance"}}'
     
  2. Ajoutez les configurations suivantes à votreClickHouseInstallation Ressource:

    • Définissez un nouveau cold_disk dans <disks>, créez une nouvelle règle appelée logs_policy_v4 et référencez le cold_disk dans la nouvelle règle:

      config.d/storage.xml: |
         <clickhouse>
           <storage_configuration>
             <disks>
               <default/>
               <cold_disk>
                 <path>/var/lib/clickhouse-cold/</path>
               </cold_disk>
             </disks>
             <policies>
               <logs_policy>
                 <volumes>
                   <data>
                     <disk>default</disk>
                   </data>
                   <cold>
                     <disk>cold_disk</disk>
                   </cold>
                 </volumes>
               </logs_policy>
               <logs_policy_v4>
                 <volumes>
                   <tier1>
                     <disk>default</disk>
                   </tier1>
                   <tier2>
                     <disk>cold_disk</disk>
                   </tier2>
                 </volumes>
               </logs_policy_v4>
             </policies>
           </storage_configuration>
        </clickhouse>
       
    • Définir un nouveau volumeClaimTemplate que ClickHouse peut utiliser pour créer un PVC supplémentaire pour le cold_disk :

      volumeClaimTemplates:
        ...
        ...
        - name: instana-clickhouse-data-cold-volume
          spec:
            accessModes:
               - ReadWriteOnce
            resources:
               requests:
               storage: 100Gi
            # storageClassName: <lower_or_cheaper_tier_storageclassname>
       
    • Enfin, montez le nouveau volume dans le pod ClickHouse en définissant volumeMounts dans le fichier podTemplates:

      containers:
        - name: instana-clickhouse
          ...
          ...
          volumeMounts:
            - mountPath: /var/lib/clickhouse-cold/
              name: instana-clickhouse-data-cold-volume
       

      Pour consulter l'intégralité de la ressource « ClickHouseInstallation » ( YAML ), rendez-vous sur :

    • Avant de procéder à la mise à niveau vers release-275, assurez-vous que ClickHouse affiche un état de Completed après avoir appliqué les nouvelles modifications. Utilisez la commande suivante :

      % kubectl get clickhouseinstallation -n instana-clickhouse
      
      NAME      CLUSTERS   HOSTS   STATUS      AGE
      instana   1          2       Completed   4d1h
       
  3. Rétablissez le normal mode de fonctionnement de votre backend Instana en mettant à jour la spécification Core :

    kubectl patch core <core_name> -n <core_namespace> --type='merge' -p='{"spec": {"operationMode": "normal"}}'
     
  4. Effectuez la mise à niveau vers la version 275 d' Instana. en suivant la procédure de mise à niveau.

Mise à niveau vers la version 273

La mise à niveau ne nécessite pas d'étapes spéciales.