Skip to main content
È disponibile una versione più recente di questo prodotto.
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Eseguire l'upgrade con l'operatore

Collaboratori

È possibile aggiornare facilmente un'installazione Astra Trident utilizzando l'operatore manualmente o Helm.

Eseguire l'aggiornamento utilizzando l'operatore Trident

In genere, si consiglia di aggiornare Astra Trident utilizzando lo stesso metodo utilizzato per l'installazione originale. Revisione "Selezionare un metodo di aggiornamento" Prima di tentare l'aggiornamento con l'operatore Trident.

Importante

Quando si esegue l'aggiornamento da un'istanza di Astra Trident installata utilizzando l'operatore namespace-scoped (versioni da 20.07 a 20.10), l'operatore Trident:

  • Migra tridentProvisioner a un tridentOrchestrator oggetto con lo stesso nome,

  • Elimina TridentProvisioner oggetti e il tridentprovisioner CRD

  • Aggiorna Astra Trident alla versione dell'operatore cluster-scoped in uso

  • Installare Astra Trident nello stesso namespace in cui era stato originariamente installato

Aggiornare un'installazione di un operatore Trident con ambito cluster

È possibile aggiornare un'installazione di un operatore Trident con ambito cluster. Tutte le versioni di Astra Trident 21.01 e successive utilizzano un operatore con ambito cluster.

Prima di iniziare

Assicurarsi di utilizzare un cluster Kubernetes in esecuzione "Una versione di Kubernetes supportata".

Fasi
  1. Verificare la versione di Astra Trident:

    ./tridentctl -n trident version
  2. Eliminare l'operatore Trident utilizzato per installare l'istanza corrente di Astra Trident. Ad esempio, se si esegue l'aggiornamento da 22.01, eseguire il seguente comando:

    kubectl delete -f 22.01/trident-installer/deploy/bundle.yaml -n trident
  3. Se l'installazione iniziale è stata personalizzata utilizzando TridentOrchestrator è possibile modificare TridentOrchestrator oggetto per modificare i parametri di installazione. Ciò potrebbe includere le modifiche apportate per specificare i registri di immagini Trident e CSI mirrorati per la modalità offline, abilitare i registri di debug o specificare i segreti di pull delle immagini.

  4. Installare Astra Trident utilizzando il file YAML del bundle corretto per il proprio ambiente e la versione di Astra Trident. Ad esempio, se si sta installando Astra Trident 23.04 per Kubernetes 1.27, eseguire il seguente comando:

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

    Trident fornisce un file bundle che può essere utilizzato per installare l'operatore e creare oggetti associati per la versione di Kubernetes.

Risultati

L'operatore Trident identificherà un'installazione Astra Trident esistente e la aggiornerà alla stessa versione dell'operatore.

Aggiornare un'installazione dell'operatore con ambito namespace

È possibile eseguire l'aggiornamento da un'istanza di Astra Trident installata utilizzando l'operatore namespace-scoped (versioni da 20.07 a 20.10) a un'installazione dell'operatore con ambito cluster.

Prima di iniziare

È necessario il file YAML bundle utilizzato per implementare l'operatore con ambito dello spazio dei nomi da https://github.com/NetApp/trident/tree/stable/vXX.XX/deploy/BUNDLE.YAML dove vXX.XX è il numero di versione e. BUNDLE.YAML È il nome del file YAML del bundle.

Fasi
  1. Verificare TridentProvisioner Lo stato dell'installazione Trident esistente è Installed.

    kubectl describe tprov trident -n trident | grep Message: -A 3
    
    Message:  Trident installed
    Status:   Installed
    Version:  v20.10.1
    Nota Se viene visualizzato lo stato Updating, assicurarsi di risolverlo prima di procedere. Per un elenco dei possibili valori di stato, vedere "qui".
  2. Creare il TridentOrchestrator CRD utilizzando il manifesto fornito con il programma di installazione di 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. Eliminare l'operatore con ambito dello spazio dei nomi utilizzando il relativo manifesto.

    1. Assicurarsi di essere nella directory corretta.

      pwd
      /root/20.10.1/trident-installer
    2. Eliminare l'operatore con ambito dello spazio dei nomi.

      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. Verificare che l'operatore Trident sia stato rimosso.

      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. (Facoltativo) se è necessario modificare i parametri di installazione, aggiornare TridentProvisioner spec. Ciò può includere modifiche come la modifica: I valori per tridentImage, autosupportImage, repository di immagini privato e fornitura imagePullSecrets) dopo aver eliminato l'operatore con ambito dello spazio dei nomi e prima di installare l'operatore con ambito del cluster. Per un elenco completo dei parametri che è possibile aggiornare, fare riferimento a. "opzioni di configurazione".

    kubectl patch tprov <trident-provisioner-name> -n <trident-namespace> --type=merge -p '{"spec":{"debug":true}}'
  5. Installare l'operatore con ambito cluster Trident.

    1. Assicurarsi di essere nella directory corretta.

      pwd
      /root/23.04.0/trident-installer
    2. Installare l'operatore con ambito cluster nello stesso namespace.

      Nota

      Trident fornisce un file bundle che può essere utilizzato per installare l'operatore e creare oggetti associati per la versione di 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. Esaminare i pod Trident nello spazio dei nomi. Il trident-controller e i nomi dei pod riflettono la convenzione di naming introdotta nel 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. Verificare che Trident sia stato aggiornato alla versione prevista.

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

Aggiornare un'installazione basata su Helm

Per aggiornare un'installazione basata su Helm, procedere come segue.

Attenzione Quando si aggiorna un cluster Kubernetes dalla versione 1.24 alla 1.25 o successiva su cui è installato Astra Trident, è necessario aggiornare values.yaml per impostarlo excludePodSecurityPolicy a. true oppure aggiungi --set excludePodSecurityPolicy=true al helm upgrade prima di aggiornare il cluster.
Fasi
  1. Scarica l'ultima release di Astra Trident.

  2. Utilizzare helm upgrade comando dove trident-operator-23.04.0.tgz indica la versione alla quale si desidera eseguire l'aggiornamento.

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

    Se si impostano opzioni non predefinite durante l'installazione iniziale (ad esempio, se si specificano registri privati mirrorati per le immagini Trident e CSI), utilizzare --set per assicurarsi che tali opzioni siano incluse nel comando upgrade, altrimenti i valori torneranno ai valori predefiniti.

    Ad esempio, per modificare il valore predefinito di tridentDebug, eseguire il seguente comando:

    helm upgrade <name> trident-operator-23.04.0-custom.tgz --set tridentDebug=true
  3. Eseguire helm list per verificare che la versione del grafico e dell'applicazione sia stata aggiornata. Eseguire tridentctl logs per esaminare eventuali messaggi di debug.

Risultati

L'operatore Trident identificherà un'installazione Astra Trident esistente e la aggiornerà alla stessa versione dell'operatore.

Aggiornamento da un'installazione non eseguita dall'operatore

È possibile eseguire l'aggiornamento all'ultima versione dell'operatore Trident da un tridentctl installazione.

Fasi
  1. Scarica l'ultima release di 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. Creare il tridentorchestrator CRD dal manifesto.

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. Implementare l'operatore con ambito cluster nello stesso 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. Creare un TridentOrchestrator CR per l'installazione di 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. Confermare che Trident è stato aggiornato alla versione prevista.

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

I backend e i PVC esistenti sono automaticamente disponibili.