Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Aggiornare Astra Control Center

Collaboratori

Per aggiornare Astra Control Center, scaricare le immagini di installazione e completare queste istruzioni. È possibile utilizzare questa procedura per aggiornare Astra Control Center in ambienti connessi a Internet o con connessione ad aria.

Queste istruzioni descrivono il processo di upgrade per Astra Control Center dalla seconda release più recente a questa release corrente. Non è possibile eseguire l'aggiornamento direttamente da una versione che è costituita da due o più versioni precedenti alla release corrente. Se la versione installata di Astra Control Center è più recente, potrebbe essere necessario eseguire gli aggiornamenti della catena alle versioni più recenti fino a quando Astra Control Center installato non è solo una versione precedente alla versione più recente. Per un elenco completo delle versioni rilasciate, vedere "note di rilascio".

Prima di iniziare

Prima di eseguire l'aggiornamento, assicurarsi che l'ambiente soddisfi ancora "Requisiti minimi per l'implementazione di Astra Control Center". L'ambiente deve avere i seguenti requisiti:

  • Un abilitato "Astra Control provisioner" Con Astra Trident in esecuzione

    1. Determina la versione di Astra Trident che stai utilizzando:

      kubectl get tridentversion -n trident
      Nota Se utilizzi Astra Trident 23,01 o versione precedente, utilizza questi elementi "istruzioni" Per effettuare l'aggiornamento a una versione più recente di Astra Trident prima di effettuare l'aggiornamento a Astra Control Provivisioner. Puoi eseguire un upgrade diretto a Astra Control Provisioner 24,02 se Astra Trident si trova all'interno di una finestra a quattro release della versione 24,02. Ad esempio, puoi eseguire l'upgrade direttamente da Astra Trident 23,04 a Astra Control Provisioner 24,02.
    2. Verifica che Astra Control Provisioner sia stato "attivato". Astra Control Provisioner non funzionerà con le versioni di Astra Control Center precedenti alla 23,10. Aggiorna Astra Control Provisioner in modo che abbia la stessa versione di Astra Control Center che stai effettuando l'aggiornamento per accedere alle funzionalità più recenti.

  • Una distribuzione Kubernetes supportata

    Determinare la versione di Kubernetes in esecuzione:

    kubectl get nodes -o wide
  • Risorse cluster sufficienti

    Determinare le risorse del cluster disponibili:

    kubectl describe node <node name>
  • Una classe di archiviazione predefinita

    Determinare la classe di storage predefinita:

    kubectl get storageclass
  • Servizi API sani e disponibili

    Assicurarsi che tutti i servizi API siano in buono stato e disponibili:

    kubectl get apiservices
  • (solo registri locali) Registro di sistema locale utilizzabile per il push e il caricamento delle immagini di Astra Control Center

  • (solo OpenShift) operatori cluster sani e disponibili

    Assicurarsi che tutti gli operatori del cluster siano in buono stato e disponibili.

    kubectl get clusteroperators

È inoltre necessario considerare quanto segue:

Suggerimento Eseguire gli aggiornamenti in una finestra di manutenzione quando pianificazioni, backup e snapshot non sono in esecuzione.
  • Accesso al Registro di sistema dell'immagine di controllo Astra di NetApp:
    È possibile ottenere le immagini di installazione e i miglioramenti delle funzionalità per Astra Control, come Astra Control provisioner, dal registro delle immagini di NetApp.

    1. Registrare l'ID dell'account Astra Control necessario per accedere al Registro di sistema.

      Puoi visualizzare l'ID dell'account nell'interfaccia utente Web di Astra Control Service. Selezionare l'icona a forma di figura in alto a destra nella pagina, selezionare accesso API e annotare l'ID account.

    2. Nella stessa pagina, selezionare generate API token, copiare la stringa del token API negli Appunti e salvarla nell'editor.

    3. Accedere al registro Astra Control:

      docker login cr.astra.netapp.io -u <account-id> -p <api-token>
  • Istio Service Mesh Deployments
    Se è stata installata una mesh di servizio Istio durante l'installazione di Astra Control Center, questo aggiornamento di Astra Control Center includerà la mesh di servizio Istio. Se non si dispone ancora di una mesh di servizio, è possibile installarne solo una durante un "implementazione iniziale" Astra Control Center.

A proposito di questa attività

Il processo di aggiornamento di Astra Control Center ti guida attraverso le seguenti fasi di alto livello:

Nota Disconnettersi dall'interfaccia utente di Astra Control Center prima di iniziare l'aggiornamento.
Importante Non eliminare l'operatore di Astra Control Center (ad esempio, kubectl delete -f astra_control_center_operator_deploy.yaml) In qualsiasi momento durante l'aggiornamento o l'operazione di Astra Control Center per evitare di eliminare i pod.

Scarica ed estrai Astra Control Center

Scarica le immagini di Astra Control Center da una delle seguenti posizioni:

  • Registro di sistema dell'immagine del servizio di controllo Astra: Utilizzare questa opzione se non si utilizza un registro locale con le immagini del centro di controllo Astra o se si preferisce questo metodo per il download del pacchetto dal sito di supporto NetApp.

  • Sito di supporto NetApp: Utilizzare questa opzione se si utilizza un registro locale con le immagini del Centro di controllo Astra.

Registro delle immagini di Astra Control
  1. Effettua l'accesso ad Astra Control Service.

  2. Nella Dashboard, selezionare distribuire un'istanza autogestita di Astra Control.

  3. Seguire le istruzioni per accedere al registro delle immagini di Astra Control, estrarre l'immagine di installazione di Astra Control Center ed estrarre l'immagine.

Sito di supporto NetApp
  1. Scarica il bundle contenente Astra Control Center (astra-control-center-[version].tar.gz) da "Pagina di download di Astra Control Center".

  2. (Consigliato ma opzionale) Scarica il bundle di certificati e firme per Astra Control Center (astra-control-center-certs-[version].tar.gz) per verificare la firma del bundle.

    tar -vxzf astra-control-center-certs-[version].tar.gz
    openssl dgst -sha256 -verify certs/AstraControlCenter-public.pub -signature certs/astra-control-center-[version].tar.gz.sig astra-control-center-[version].tar.gz

    Viene visualizzato l'output Verified OK una volta completata la verifica.

  3. Estrarre le immagini dal bundle Astra Control Center:

    tar -vxzf astra-control-center-[version].tar.gz

Completare ulteriori passaggi se si utilizza un registro locale

Se si intende inviare il pacchetto Astra Control Center al registro locale, è necessario utilizzare il plugin della riga di comando di NetApp Astra kubectl.

Rimuovere il plug-in NetApp Astra kubectl e installarlo di nuovo

È necessario utilizzare l'ultima versione del plug-in della riga di comando NetApp Astra kubectl per trasferire le immagini in un repository Docker locale.

  1. Determinare se il plug-in è installato:

    kubectl astra
  2. Eseguire una delle seguenti operazioni:

    • Se il plugin è installato, il comando dovrebbe restituire il plugin kubectl help ed è possibile rimuovere la versione esistente di kubectl-astra: delete /usr/local/bin/kubectl-astra.

    • Se il comando restituisce un errore, il plug-in non è installato ed è possibile procedere con la fase successiva per installarlo.

  3. Installare il plug-in:

    1. Elencare i binari del plugin NetApp Astra kubectl disponibili e annotare il nome del file necessario per il sistema operativo e l'architettura della CPU:

      Nota La libreria di plugin kubectl fa parte del bundle tar e viene estratta nella cartella kubectl-astra.
    ls kubectl-astra/
    1. Spostare il binario corretto nel percorso corrente e rinominarlo kubectl-astra:

      cp kubectl-astra/<binary-name> /usr/local/bin/kubectl-astra

Aggiungere le immagini al registro

  1. Se si prevede di inviare il pacchetto Astra Control Center al registro locale, completare la sequenza di passaggi appropriata per il motore del contenitore:

    Docker
    1. Passare alla directory root del tarball. Viene visualizzata la acc.manifest.bundle.yaml file e queste directory:

      acc/
      kubectl-astra/
      acc.manifest.bundle.yaml

    2. Trasferire le immagini del pacchetto nella directory delle immagini di Astra Control Center nel registro locale. Eseguire le seguenti sostituzioni prima di eseguire push-images comando:

      • Sostituire <BUNDLE_FILE> con il nome del file bundle di controllo Astra (acc.manifest.bundle.yaml).

      • Sostituire <MY_FULL_REGISTRY_PATH> con l'URL del repository Docker; ad esempio, "https://<docker-registry>".

      • Sostituire <MY_REGISTRY_USER> con il nome utente.

      • Sostituire <MY_REGISTRY_TOKEN> con un token autorizzato per il registro.

        kubectl astra packages push-images -m <BUNDLE_FILE> -r <MY_FULL_REGISTRY_PATH> -u <MY_REGISTRY_USER> -p <MY_REGISTRY_TOKEN>
    Podman
    1. Passare alla directory root del tarball. Vengono visualizzati il file e la directory seguenti:

      acc/
      kubectl-astra/
      acc.manifest.bundle.yaml

    2. Accedere al Registro di sistema:

      podman login <YOUR_REGISTRY>
    3. Preparare ed eseguire uno dei seguenti script personalizzato per la versione di Podman utilizzata. Sostituire <MY_FULL_REGISTRY_PATH> con l'URL del repository che include le sottodirectory.

      Podman 4
      export REGISTRY=<MY_FULL_REGISTRY_PATH>
      export PACKAGENAME=acc
      export PACKAGEVERSION=24.02.0-69
      export DIRECTORYNAME=acc
      for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do
      astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image: //')
      astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::')
      podman tag ${astraImageNoPath} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
      podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
      done
      Podman 3
      export REGISTRY=<MY_FULL_REGISTRY_PATH>
      export PACKAGENAME=acc
      export PACKAGEVERSION=24.02.0-69
      export DIRECTORYNAME=acc
      for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do
      astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image: //')
      astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::')
      podman tag ${astraImageNoPath} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
      podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath}
      done
      Nota Il percorso dell'immagine creato dallo script deve essere simile al seguente, a seconda della configurazione del Registro di sistema:
      https://downloads.example.io/docker-astra-control-prod/netapp/astra/acc/24.02.0-69/image:version
  2. Modificare la directory:

    cd manifests

Installare l'operatore Astra Control Center aggiornato

  1. (Solo registri locali) se si utilizza un registro locale, completare i seguenti passaggi:

    1. Aprire il programma YAML di distribuzione dell'operatore Astra Control Center:

      vim astra_control_center_operator_deploy.yaml
      Nota Un YAML di esempio annotato segue questi passaggi.
    2. Se si utilizza un registro che richiede l'autenticazione, sostituire o modificare la riga predefinita di imagePullSecrets: [] con i seguenti elementi:

      imagePullSecrets: [{name: astra-registry-cred}]
    3. Cambiare ASTRA_IMAGE_REGISTRY per kube-rbac-proxy al percorso del registro in cui sono state inviate le immagini in a. passaggio precedente.

    4. Cambiare ASTRA_IMAGE_REGISTRY per acc-operator al percorso del registro in cui sono state inviate le immagini in a. passaggio precedente.

    5. Aggiungere i seguenti valori a env sezione:

      - name: ACCOP_HELM_UPGRADETIMEOUT
        value: 300m
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        control-plane: controller-manager
      name: acc-operator-controller-manager
      namespace: netapp-acc-operator
    spec:
      replicas: 1
      selector:
        matchLabels:
          control-plane: controller-manager
      strategy:
        type: Recreate
      template:
        metadata:
          labels:
            control-plane: controller-manager
        spec:
          containers:
          - args:
            - --secure-listen-address=0.0.0.0:8443
            - --upstream=http://127.0.0.1:8080/
            - --logtostderr=true
            - --v=10
            image: ASTRA_IMAGE_REGISTRY/kube-rbac-proxy:v4.8.0
            name: kube-rbac-proxy
            ports:
            - containerPort: 8443
              name: https
          - args:
            - --health-probe-bind-address=:8081
            - --metrics-bind-address=127.0.0.1:8080
            - --leader-elect
            env:
            - name: ACCOP_LOG_LEVEL
              value: "2"
            - name: ACCOP_HELM_UPGRADETIMEOUT
              value: 300m
            image: ASTRA_IMAGE_REGISTRY/acc-operator:24.02.68
            imagePullPolicy: IfNotPresent
            livenessProbe:
              httpGet:
                path: /healthz
                port: 8081
              initialDelaySeconds: 15
              periodSeconds: 20
            name: manager
            readinessProbe:
              httpGet:
                path: /readyz
                port: 8081
              initialDelaySeconds: 5
              periodSeconds: 10
            resources:
              limits:
                cpu: 300m
                memory: 750Mi
              requests:
                cpu: 100m
                memory: 75Mi
            securityContext:
              allowPrivilegeEscalation: false
          imagePullSecrets: []
          securityContext:
            runAsUser: 65532
          terminationGracePeriodSeconds: 10
  2. Installare l'operatore Astra Control Center aggiornato:

    kubectl apply -f astra_control_center_operator_deploy.yaml
    Esempio di risposta:
    namespace/netapp-acc-operator unchanged
    customresourcedefinition.apiextensions.k8s.io/astracontrolcenters.astra.netapp.io configured
    role.rbac.authorization.k8s.io/acc-operator-leader-election-role unchanged
    clusterrole.rbac.authorization.k8s.io/acc-operator-manager-role configured
    clusterrole.rbac.authorization.k8s.io/acc-operator-metrics-reader unchanged
    clusterrole.rbac.authorization.k8s.io/acc-operator-proxy-role unchanged
    rolebinding.rbac.authorization.k8s.io/acc-operator-leader-election-rolebinding unchanged
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-manager-rolebinding configured
    clusterrolebinding.rbac.authorization.k8s.io/acc-operator-proxy-rolebinding unchanged
    configmap/acc-operator-manager-config unchanged
    service/acc-operator-controller-manager-metrics-service unchanged
    deployment.apps/acc-operator-controller-manager configured
  3. Verificare che i pod siano in esecuzione:

    kubectl get pods -n netapp-acc-operator

Aggiornare Astra Control Center

  1. Modificare la risorsa personalizzata Astra Control Center (CR):

    kubectl edit AstraControlCenter -n [netapp-acc or custom namespace]
    Nota Un YAML di esempio annotato segue questi passaggi.
  2. Modificare il numero di versione di Astra (astraVersion all'interno di spec) da 23.10.0 a. 24.02.0:

    Nota Non è possibile eseguire l'aggiornamento direttamente da una versione che è costituita da due o più versioni precedenti alla release corrente. Per un elenco completo delle versioni rilasciate, vedere "note di rilascio".
    spec:
      accountName: "Example"
      astraVersion: "[Version number]"
  3. Modificare il registro delle immagini:

    • (Solo registri locali) se si utilizza un registro locale, verificare che il percorso del Registro di sistema dell'immagine corrisponda al percorso del Registro di sistema in cui le immagini sono state inserite in un passaggio precedente. Aggiornare imageRegistry all'interno di spec se il registro locale è cambiato dall'ultima installazione.

    • (Registro delle immagini di Astra Control) utilizzare il registro delle immagini di Astra Control (cr.astra.netapp.io) Utilizzato per scaricare il bundle Astra Control aggiornato.

        imageRegistry:
          name: "[cr.astra.netapp.io or your_registry_path]"
  4. Aggiungere quanto segue al crds configurazione all'interno di spec:

    crds:
      shouldUpgrade: true
  5. Aggiungere le seguenti righe all'interno di additionalValues all'interno di spec In Astra Control Center CR:

    additionalValues:
        nautilus:
          startupProbe:
            periodSeconds: 30
            failureThreshold: 600
        keycloak-operator:
          livenessProbe:
            initialDelaySeconds: 180
          readinessProbe:
            initialDelaySeconds: 180
  6. Salvare e uscire dall'editor di file. Le modifiche verranno applicate e l'aggiornamento avrà inizio.

  7. (Facoltativo) verificare che i pod terminino e diventino nuovamente disponibili:

    watch kubectl get pods -n [netapp-acc or custom namespace]
  8. Attendere che le condizioni di stato di Astra Control indichino che l'aggiornamento è completo e pronto (True):

    kubectl get AstraControlCenter -n [netapp-acc or custom namespace]

    Risposta:

    NAME    UUID                                      VERSION     ADDRESS         READY
    astra   9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f      24.02.0-69   10.111.111.111  True
    Nota Per monitorare lo stato dell'aggiornamento durante l'operazione, eseguire il seguente comando: kubectl get AstraControlCenter -o yaml -n [netapp-acc or custom namespace]
    Nota Per esaminare i registri dell'operatore di Astra Control Center, eseguire il seguente comando:
    kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f

Verificare lo stato del sistema

  1. Accedere ad Astra Control Center.

  2. Verificare che la versione sia stata aggiornata. Consultare la pagina supporto nell'interfaccia utente.

  3. Verificare che tutti i cluster e le applicazioni gestiti siano ancora presenti e protetti.