Skip to main content
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Mise à niveau avec l'opérateur

Contributeurs

Vous pouvez facilement mettre à niveau une installation Astra Trident existante en utilisant l'opérateur manuellement ou à l'aide d'Helm.

Mise à niveau à l'aide de l'opérateur Trident

Généralement, vous devez mettre à niveau Astra Trident avec la même méthode que celle utilisée pour l'installer à l'origine. Révision "Sélectionnez une méthode de mise à niveau" Avant de tenter une mise à niveau avec l'opérateur Trident.

Important

Lors de la mise à niveau à partir d'une instance d'Astra Trident installée à l'aide de l'opérateur dont le périmètre d'espace de noms est compris entre les versions 20.07 et 20.10, l'opérateur Trident effectue automatiquement les opérations suivantes :

  • Migre tridentProvisioner à un tridentOrchestrator objet du même nom

  • Supprime TridentProvisioner objets et le tridentprovisioner CRD

  • Mise à niveau d'Astra Trident avec la version de l'opérateur dont le périmètre est défini sur le cluster

  • Installez Astra Trident dans le même espace de noms que celui où elle a été installée à l'origine

Mettre à niveau l'installation d'un opérateur Trident du type cluster

Vous pouvez mettre à niveau l'installation d'un opérateur Trident dont le périmètre est défini sur le cluster. Toutes les versions 21.01 et supérieures d'Astra Trident utilisent un opérateur à périmètre de cluster.

Avant de commencer

Assurez-vous d'utiliser un cluster Kubernetes en cours d'exécution "Version Kubernetes prise en charge".

Étapes
  1. Vérifiez votre version d'Astra Trident :

    ./tridentctl -n trident version
  2. Supprimez l'opérateur Trident qui a été utilisé pour installer l'instance Astra Trident actuelle. Par exemple, si vous effectuez une mise à niveau depuis 22.01, exécutez la commande suivante :

    kubectl delete -f 22.01/trident-installer/deploy/bundle.yaml -n trident
  3. Si vous avez personnalisé votre installation initiale à l'aide de TridentOrchestrator attributs, vous pouvez modifier le TridentOrchestrator objet pour modifier les paramètres d'installation. Cela peut inclure des modifications visant à spécifier les registres d'images en miroir Trident et CSI pour le mode hors ligne, à activer les journaux de débogage ou à spécifier les secrets d'extraction d'images.

  4. Installez Astra Trident à l'aide du fichier YAML correspondant à votre environnement et à la version Trident d'Astra. Par exemple, si vous installez Astra Trident 23.04 pour Kubernetes 1.27, exécutez la commande suivante :

    kubectl create -f 23.04.0/trident-installer/deploy/bundle_post_1_25.yaml -n trident
    Remarque

    Trident fournit un fichier bundle qui peut être utilisé pour installer l'opérateur et créer les objets associés pour votre version Kubernetes.

Résultats

L'opérateur de Trident identifiera une installation Astra Trident existante et la mettra à niveau vers la même version que l'opérateur.

Mettre à niveau l'installation d'un opérateur à l'aide d'un espace de noms

Vous pouvez effectuer une mise à niveau à partir d'une instance d'Astra Trident installée en utilisant l'opérateur dont le périmètre d'espace de noms est compris entre 20.07 et 20.10, vers une installation par un opérateur dont le périmètre est défini sur le cluster.

Avant de commencer

Vous avez besoin du fichier YAML de bundle utilisé pour déployer l'opérateur de périmètre d'espace de noms à partir de https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAMLvXX.XX est le numéro de version et BUNDLE.YAML Est le nom du fichier YAML du bundle.

Étapes
  1. Vérifiez le TridentProvisioner L'état de l'installation Trident existante est Installed.

    kubectl describe tprov trident -n trident | grep Message: -A 3
    
    Message:  Trident installed
    Status:   Installed
    Version:  v20.10.1
    Remarque Si l'état s'affiche Updating, assurez-vous de le résoudre avant de continuer. Pour obtenir la liste des valeurs d'état possibles, reportez-vous à la section "ici".
  2. Créer le TridentOrchestrator CRD en utilisant le manifeste fourni avec le programme d'installation Trident.

    # Download the release required [23.04.0]
    mkdir 23.04.0
    cd 23.04.0
    wget https://github.com/NetApp/trident/releases/download/v23.04.0/trident-installer-23.04.0.tar.gz
    tar -xf trident-installer-23.04.0.tar.gz
    cd trident-installer
    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. Supprimez l'opérateur délimité par l'espace de noms à l'aide de son manifeste.

    1. Vérifiez que vous êtes dans le bon répertoire.

      pwd
      /root/20.10.1/trident-installer
    2. Supprimez l'opérateur namespace-scoped.

      kubectl delete -f deploy/<BUNDLE.YAML> -n trident
      
      serviceaccount "trident-operator" deleted
      clusterrole.rbac.authorization.k8s.io "trident-operator" deleted
      clusterrolebinding.rbac.authorization.k8s.io "trident-operator" deleted
      deployment.apps "trident-operator" deleted
      podsecuritypolicy.policy "tridentoperatorpods" deleted
    3. Vérifiez que l'opérateur Trident a été supprimé.

      kubectl get all -n trident
      
      NAME                               READY   STATUS    RESTARTS   AGE
      pod/trident-csi-68d979fb85-dsrmn   6/6     Running   12         99d
      pod/trident-csi-8jfhf              2/2     Running   6          105d
      pod/trident-csi-jtnjz              2/2     Running   6          105d
      pod/trident-csi-lcxvh              2/2     Running   8          105d
      
      NAME                  TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)              AGE
      service/trident-csi   ClusterIP   10.108.174.125   <none>        34571/TCP,9220/TCP   105d
      
      NAME                         DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                                     AGE
      daemonset.apps/trident-csi   3         3         3       3            3           kubernetes.io/arch=amd64,kubernetes.io/os=linux   105d
      
      NAME                          READY   UP-TO-DATE   AVAILABLE   AGE
      deployment.apps/trident-csi   1/1     1            1           105d
      
      NAME                                     DESIRED   CURRENT   READY   AGE
      replicaset.apps/trident-csi-68d979fb85   1         1         1       105d
  4. (Facultatif) si les paramètres d'installation doivent être modifiés, mettez à jour le TridentProvisioner spécifications Cela peut inclure des modifications telles que la modification : les valeurs pour tridentImage, autosupportImage, un référentiel d'images privé, et la fourniture imagePullSecrets) après avoir supprimé l'opérateur du périmètre de l'espace de noms et avant d'installer l'opérateur du périmètre de cluster. Pour obtenir une liste complète des paramètres pouvant être mis à jour, reportez-vous au "options de configuration".

    kubectl patch tprov <trident-provisioner-name> -n <trident-namespace> --type=merge -p '{"spec":{"debug":true}}'
  5. Installez l'opérateur Trident cluster-scoped.

    1. Assurez-vous que vous êtes dans le bon répertoire.

      pwd
      /root/23.04.0/trident-installer
    2. Installer l'opérateur cluster-scoped dans le même namespace.

      Remarque

      Trident fournit un fichier bundle qui peut être utilisé pour installer l'opérateur et créer les objets associés pour votre version Kubernetes.

      kubectl create -f deploy/<BUNDLE.YAML>
      
      serviceaccount/trident-operator created
      clusterrole.rbac.authorization.k8s.io/trident-operator created
      clusterrolebinding.rbac.authorization.k8s.io/trident-operator created
      deployment.apps/trident-operator created
      podsecuritypolicy.policy/tridentoperatorpods created
      
      #All tridentProvisioners will be removed, including the CRD itself
      kubectl get tprov -n trident
      Error from server (NotFound): Unable to list "trident.netapp.io/v1, Resource=tridentprovisioners": the server could not find the requested resource (get tridentprovisioners.trident.netapp.io)
      
      #tridentProvisioners are replaced by tridentOrchestrator
      kubectl get torc
      NAME      AGE
      trident   13s
    3. Examinez les pods Trident dans le namespace. Le trident-controller les noms de pods reflètent la convention de nommage introduite en 23.01.

      kubectl get pods -n trident
      
      NAME                                     READY   STATUS    RESTARTS   AGE
      trident-controller-79df798bdc-m79dc      6/6     Running   0          1m41s
      trident-node-linux-xrst8                 2/2     Running   0          1m41s
      trident-operator-5574dbbc68-nthjv        1/1     Running   0          1m52s
    4. Vérifiez que Trident a été mis à jour avec la version prévue.

      kubectl describe torc trident | grep Message -A 3
      Message:                Trident installed
      Namespace:              trident
      Status:                 Installed
      Version:                v23.04.0

Mettre à niveau l'installation d'un opérateur basé sur Helm

Effectuer les étapes suivantes pour mettre à niveau l'installation d'un opérateur reposant sur Helm.

Avertissement Lorsque vous mettez à niveau un cluster Kubernetes de 1.24 vers 1.25 ou version ultérieure sur lequel Astra Trident est installé, vous devez mettre à jour les valeurs.yaml pour les définir excludePodSecurityPolicy à true ou ajouter --set excludePodSecurityPolicy=true à la helm upgrade commande avant de pouvoir mettre à niveau le cluster.
Étapes
  1. Téléchargez la dernière version d'Astra Trident.

  2. Utilisez le helm upgrade commande où trident-operator-23.04.0.tgz reflète la version vers laquelle vous souhaitez effectuer la mise à niveau.

    helm upgrade <name> trident-operator-23.04.0.tgz
    Remarque

    Si vous définissez des options autres que celles par défaut lors de l'installation initiale (par exemple, spécifier des registres privés en miroir pour les images Trident et CSI), utilisez --set pour vous assurer que ces options sont incluses dans la commande de mise à niveau, sinon les valeurs sont réinitialisées sur les valeurs par défaut.

    Par exemple, pour modifier la valeur par défaut de tridentDebug, exécutez la commande suivante :

    helm upgrade <name> trident-operator-23.04.0-custom.tgz --set tridentDebug=true
  3. Courez helm list pour vérifier que le graphique et la version de l'application ont tous deux été mis à niveau. Courez tridentctl logs pour consulter les messages de débogage.

Résultats

L'opérateur de Trident identifiera une installation Astra Trident existante et la mettra à niveau vers la même version que l'opérateur.

Mise à niveau à partir d'une installation autre que celle d'un opérateur

Vous pouvez effectuer la mise à niveau vers la dernière version de l'opérateur Trident à partir d'un tridentctl installation.

Étapes
  1. Téléchargez la dernière version d'Astra Trident.

    # Download the release required [23.04.0]
    mkdir 23.04.0
    cd 23.04.0
    wget https://github.com/NetApp/trident/releases/download/v22.01.1/trident-installer-23.04.0.tar.gz
    tar -xf trident-installer-23.04.0.tar.gz
    cd trident-installer
  2. Créer le tridentorchestrator CRD du manifeste.

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. Déployer l'opérateur cluster-scoped dans le même namespace.

    kubectl create -f deploy/<BUNDLE.YAML>
    
    serviceaccount/trident-operator created
    clusterrole.rbac.authorization.k8s.io/trident-operator created
    clusterrolebinding.rbac.authorization.k8s.io/trident-operator created
    deployment.apps/trident-operator created
    podsecuritypolicy.policy/tridentoperatorpods created
    
    #Examine the pods in the Trident namespace
    NAME                                  READY   STATUS    RESTARTS   AGE
    trident-controller-79df798bdc-m79dc   6/6     Running   0          150d
    trident-node-linux-xrst8              2/2     Running   0          150d
    trident-operator-5574dbbc68-nthjv     1/1     Running   0          1m30s
  4. Créer un TridentOrchestrator CR pour l'installation d'Astra Trident.

    cat deploy/crds/tridentorchestrator_cr.yaml
    apiVersion: trident.netapp.io/v1
    kind: TridentOrchestrator
    metadata:
      name: trident
    spec:
      debug: true
      namespace: trident
    
    kubectl create -f deploy/crds/tridentorchestrator_cr.yaml
    
    #Examine the pods in the Trident namespace
    NAME                                READY   STATUS    RESTARTS   AGE
    trident-csi-79df798bdc-m79dc        6/6     Running   0          1m
    trident-csi-xrst8                   2/2     Running   0          1m
    trident-operator-5574dbbc68-nthjv   1/1     Running   0          5m41s
  5. Vérifiez que Trident a été mis à niveau vers la version prévue.

    kubectl describe torc trident | grep Message -A 3
    
    Message:                Trident installed
    Namespace:              trident
    Status:                 Installed
    Version:                v23.04.0
Résultats

Les systèmes back-end et demandes de volume persistant sont automatiquement disponibles.