Skip to main content
Eine neuere Version dieses Produkts ist erhältlich.
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Upgrade Astra Control Center

Beitragende

Laden Sie zum Upgrade des Astra Control Center das Installationspaket von der NetApp Support Site herunter und führen Sie diese Anweisungen aus, um die Komponenten des Astra Control Center in Ihrer Umgebung zu aktualisieren. Mit diesem Verfahren können Sie das Astra Control Center in internetverbundenen oder luftgekapderten Umgebungen aktualisieren.

Was Sie benötigen
Über diese Aufgabe

Der Astra Control Center Upgrade-Prozess führt Sie durch die folgenden grundlegenden Schritte:

Wichtig Führen Sie den folgenden Befehl während der gesamten Dauer des Upgrades nicht aus, um zu vermeiden, dass alle Astra Control Center Pods gelöscht werden: kubectl delete -f astra_control_center_operator_deploy.yaml
Tipp Führen Sie Upgrades in einem Wartungsfenster durch, wenn Zeitpläne, Backups und Snapshots nicht ausgeführt werden.
Hinweis Podman-Befehle können anstelle von Docker-Befehlen verwendet werden, wenn Sie den Podman von Red hat anstelle von Docker Engine verwenden.

Laden Sie das Astra Control Center Bundle herunter

  1. Laden Sie das Astra Control Center-Upgrade-Bundle herunter (astra-control-center-[version].tar.gz) Vom "NetApp Support Website".

  2. (Optional) Überprüfen Sie mit dem folgenden Befehl die Signatur des Pakets:

    openssl dgst -sha256 -verify astra-control-center[version].pub -signature <astra-control-center[version].sig astra-control-center[version].tar.gz

Packen Sie das Paket aus und ändern Sie das Verzeichnis

  1. Extrahieren Sie die Bilder:

    tar -vxzf astra-control-center-[version].tar.gz
  2. Wechseln Sie in das Astra-Verzeichnis.

    cd astra-control-center-[version]

Fügen Sie die Bilder Ihrer lokalen Registrierung hinzu

  1. Fügen Sie die Dateien im Astra Control Center-Bildverzeichnis Ihrer lokalen Registrierung hinzu.

    Hinweis Siehe ein Beispielskript für das automatische Laden von Bildern unten.
    1. Melden Sie sich bei Ihrer Docker Registrierung an:

      docker login [your_registry_path]
    2. Laden Sie die Images in Docker.

    3. Markieren Sie die Bilder.

    4. Schieben Sie die Bilder in Ihre lokale Registrierung.

      export REGISTRY=[your_registry_path]
      for astraImageFile in $(ls images/*.tar)
        # Load to local cache. And store the name of the loaded image trimming the 'Loaded images: '
        do astraImage=$(docker load --input ${astraImageFile} | sed 's/Loaded image: //')
        astraImage=$(echo ${astraImage} | sed 's!localhost/!!')
        # Tag with local image repo.
        docker tag ${astraImage} ${REGISTRY}/${astraImage}
        # Push to the local repo.
        docker push ${REGISTRY}/${astraImage}
      done

Installieren Sie den aktualisierten Astra Control Center-Operator

  1. Bearbeiten Sie die yaml-Implementierung des Astra Control Center-Bedieners (astra_control_center_operator_deploy.yaml) Zu Ihrem lokalen Register und Geheimnis zu verweisen.

    vim astra_control_center_operator_deploy.yaml
    1. Wenn Sie eine Registrierung verwenden, für die eine Authentifizierung erforderlich ist, ersetzen Sie die Standardzeile von imagePullSecrets: [] Mit folgenden Optionen:

      imagePullSecrets:
      - name: <name_of_secret_with_creds_to_local_registry>
    2. Ändern [your_registry_path] Für das kube-rbac-proxy Bild zum Registrierungspfad, in dem Sie die Bilder in ein geschoben haben Vorheriger Schritt.

    3. Ändern [your_registry_path] Für das acc-operator-controller-manager Bild zum Registrierungspfad, in dem Sie die Bilder in ein geschoben haben Vorheriger Schritt.

    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
      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: [your_registry_path]/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
            command:
            - /manager
            env:
            - name: ACCOP_LOG_LEVEL
              value: "2"
            image: [your_registry_path]/acc-operator:[version x.y.z]
            imagePullPolicy: IfNotPresent
          imagePullSecrets: []
  2. Installieren Sie den aktualisierten Astra Control Center-Operator:

    kubectl apply -f astra_control_center_operator_deploy.yaml

    Beispielantwort:

    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

Upgrade Astra Control Center

  1. Bearbeiten Sie die benutzerdefinierte Astra Control Center-Ressource (CR) und ändern Sie die Astra-Version (astraVersion Innerhalb von Spec) Nummer auf die neueste:

    kubectl edit acc -n [netapp-acc or custom namespace]
    Hinweis Eine Änderung der Astra-Version ist die einzige Voraussetzung für ein Upgrade des Astra Control Center. Ihr Registrierungspfad muss mit dem Registrierungspfad übereinstimmen, in dem Sie die Bilder in A verschoben haben Vorheriger Schritt.
  2. Überprüfen Sie, ob die Pods enden und wieder verfügbar sind:

    watch kubectl get pods -n [netapp-acc or custom namespace]
  3. Überprüfen Sie, ob alle Systemkomponenten erfolgreich aktualisiert wurden.

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

    Jeder Pod sollte einen Status von haben Running Und Age Das ist die letzte. Es kann mehrere Minuten dauern, bis die System-Pods implementiert sind.

    Beispielantwort:

    NAME                                         READY   STATUS    RESTARTS   AGE
    acc-helm-repo-5f75c5f564-bzqmt             1/1     Running   0          11m
    activity-6b8f7cccb9-mlrn4                  1/1     Running   0          9m2s
    api-token-authentication-6hznt             1/1     Running   0          8m50s
    api-token-authentication-qpfgb             1/1     Running   0          8m50s
    api-token-authentication-sqnb7             1/1     Running   0          8m50s
    asup-5578bbdd57-dxkbp                      1/1     Running   0          9m3s
    authentication-56bff4f95d-mspmq            1/1     Running   0          7m31s
    bucketservice-6f7968b95d-9rrrl             1/1     Running   0          8m36s
    cert-manager-5f6cf4bc4b-82khn              1/1     Running   0          6m19s
    cert-manager-cainjector-76cf976458-sdrbc   1/1     Running   0          6m19s
    cert-manager-webhook-5b7896bfd8-2n45j      1/1     Running   0          6m19s
    cloud-extension-749d9f684c-8bdhq           1/1     Running   0          9m6s
    cloud-insights-service-7d58687d9-h5tzw     1/1     Running   2          8m56s
    composite-compute-968c79cb5-nv7l4          1/1     Running   0          9m11s
    composite-volume-7687569985-jg9gg          1/1     Running   0          8m33s
    credentials-5c9b75f4d6-nx9cz               1/1     Running   0          8m42s
    entitlement-6c96fd8b78-zt7f8               1/1     Running   0          8m28s
    features-5f7bfc9f68-gsjnl                  1/1     Running   0          8m57s
    fluent-bit-ds-h88p7                        1/1     Running   0          7m22s
    fluent-bit-ds-krhnj                        1/1     Running   0          7m23s
    fluent-bit-ds-l5bjj                        1/1     Running   0          7m22s
    fluent-bit-ds-lrclb                        1/1     Running   0          7m23s
    fluent-bit-ds-s5t4n                        1/1     Running   0          7m23s
    fluent-bit-ds-zpr6v                        1/1     Running   0          7m22s
    graphql-server-5f5976f4bd-vbb4z            1/1     Running   0          7m13s
    identity-56f78b8f9f-8h9p9                  1/1     Running   0          8m29s
    influxdb2-0                                1/1     Running   0          11m
    krakend-6f8d995b4d-5khkl                   1/1     Running   0          7m7s
    license-5b5db87c97-jmxzc                   1/1     Running   0          9m
    login-ui-57b57c74b8-6xtv7                  1/1     Running   0          7m10s
    loki-0                                     1/1     Running   0          11m
    monitoring-operator-9dbc9c76d-8znck        2/2     Running   0          7m33s
    nats-0                                     1/1     Running   0          11m
    nats-1                                     1/1     Running   0          10m
    nats-2                                     1/1     Running   0          10m
    nautilus-6b9d88bc86-h8kfb                  1/1     Running   0          8m6s
    nautilus-6b9d88bc86-vn68r                  1/1     Running   0          8m35s
    openapi-b87d77dd8-5dz9h                    1/1     Running   0          9m7s
    polaris-consul-consul-5ljfb                1/1     Running   0          11m
    polaris-consul-consul-s5d5z                1/1     Running   0          11m
    polaris-consul-consul-server-0             1/1     Running   0          11m
    polaris-consul-consul-server-1             1/1     Running   0          11m
    polaris-consul-consul-server-2             1/1     Running   0          11m
    polaris-consul-consul-twmpq                1/1     Running   0          11m
    polaris-mongodb-0                          2/2     Running   0          11m
    polaris-mongodb-1                          2/2     Running   0          10m
    polaris-mongodb-2                          2/2     Running   0          10m
    polaris-ui-84dc87847f-zrg8w                1/1     Running   0          7m12s
    polaris-vault-0                            1/1     Running   0          11m
    polaris-vault-1                            1/1     Running   0          11m
    polaris-vault-2                            1/1     Running   0          11m
    public-metrics-657698b66f-67pgt            1/1     Running   0          8m47s
    storage-backend-metrics-6848b9fd87-w7x8r   1/1     Running   0          8m39s
    storage-provider-5ff5868cd5-r9hj7          1/1     Running   0          8m45s
    telegraf-ds-dw4hg                          1/1     Running   0          7m23s
    telegraf-ds-k92gn                          1/1     Running   0          7m23s
    telegraf-ds-mmxjl                          1/1     Running   0          7m23s
    telegraf-ds-nhs8s                          1/1     Running   0          7m23s
    telegraf-ds-rj7lw                          1/1     Running   0          7m23s
    telegraf-ds-tqrkb                          1/1     Running   0          7m23s
    telegraf-rs-9mwgj                          1/1     Running   0          7m23s
    telemetry-service-56c49d689b-ffrzx         1/1     Running   0          8m42s
    tenancy-767c77fb9d-g9ctv                   1/1     Running   0          8m52s
    traefik-5857d87f85-7pmx8                   1/1     Running   0          6m49s
    traefik-5857d87f85-cpxgv                   1/1     Running   0          5m34s
    traefik-5857d87f85-lvmlb                   1/1     Running   0          4m33s
    traefik-5857d87f85-t2xlk                   1/1     Running   0          4m33s
    traefik-5857d87f85-v9wpf                   1/1     Running   0          7m3s
    trident-svc-595f84dd78-zb8l6               1/1     Running   0          8m54s
    vault-controller-86c94fbf4f-krttq          1/1     Running   0          9m24s
  4. Vergewissern Sie sich, dass die Statusbedingungen des Astra darauf hindeuten, dass das Upgrade abgeschlossen und bereit ist:

    kubectl get -o yaml -n [netapp-acc or custom namespace] astracontrolcenters.astra.netapp.io astra

    Antwort:

    conditions:
      - lastTransitionTime: "2021-10-25T18:49:26Z"
        message: Astra is deployed
        reason: Complete
        status: "True"
        type: Ready
      - lastTransitionTime: "2021-10-25T18:49:26Z"
        message: Upgrading succeeded.
        reason: Complete
        status: "False"
        type: Upgrading

Upgrade von Drittanbieter-Services

Die Drittanbieter-Services Traefik und Cert-Manager werden während früherer Aktualisierungsschritte nicht aktualisiert. Sie können sie optional mithilfe der hier beschriebenen Vorgehensweise aktualisieren oder vorhandene Servicestversionen beibehalten, wenn es vom System benötigt wird. Im Folgenden finden Sie die empfohlene Upgrade-Sequenz für Traefik und Certs-Manager:

Richten Sie ACC-Helm-repo ein, um Traefik und Cert-Manager zu aktualisieren

  1. Finden Sie die enterprise-helm-repo Die in Ihren lokalen Docker Cache geladen sind:

    docker images enterprise-helm-repo

    Antwort:

    REPOSITORY             TAG         IMAGE ID       CREATED        SIZE
    enterprise-helm-repo   21.10.218   7a182d6b30f3   20 hours ago   464MB
  2. Starten eines Containers mit dem Tag aus dem vorherigen Schritt:

    docker run -dp 8082:8080 enterprise-helm-repo:21.10.218

    Antwort:

    940436e67fa86d2c4559ac4987b96bb35588313c2c9ddc9cec195651963f08d8
  3. Fügen Sie den Helm repo zu Ihren lokalen Host-Repositorys hinzu:

    helm repo add acc-helm-repo http://localhost:8082/

    Antwort:

    "acc-helm-repo" has been added to your repositories
  4. Speichern Sie das folgende Python-Skript als Datei, z. B. set_previous_values.py:

    Hinweis Dieses Python-Skript erstellt zwei Dateien, die in späteren Aktualisierungsschritten verwendet werden, um Steuerwerte beizubehalten.
    #!/usr/bin/env python3
    import json
    import os
    
    NAMESPACE = "netapp-acc"
    
    os.system(f"helm get values traefik -n {NAMESPACE} -o json > traefik_values.json")
    os.system(f"helm get values cert-manager -n {NAMESPACE} -o json > cert_manager_values.json")
    
    # reformat traefik values
    f = open("traefik_values.json", "r")
    traefik_values = {'traefik': json.load(f)}
    f.close()
    
    with open('traefik_values.json', 'w') as output_file:
        json.dump(traefik_values, output_file)
    
    # reformat cert-manager values
    f = open("cert_manager_values.json", "r")
    cm_values = {'cert-manager': json.load(f)}
    f.close()
    
    cm_values['global'] = cm_values['cert-manager']['global']
    del cm_values['cert-manager']['global']
    
    with open('cert_manager_values.json', 'w') as output_file:
        json.dump(cm_values, output_file)
    
    print('Done')
  5. Führen Sie das Skript aus:

    python3.7 ./set_previous_values.py

Traefik-Dienst mit ACC-Helm-repo aktualisieren

Hinweis Dies muss bereits geschehen um Traefik und Cert-Manager zu aktualisieren,ACC-Helm-Repo einrichten Vor dem Abschluss des folgenden Verfahrens.
  1. Laden Sie das Traefik-Paket mit einem sicheren Dateiübertragungstool wie GNU wget herunter:

    wget http://localhost:8082/traefik-0.2.0.tgz
  2. Extrahieren Sie die Bilder:

    tar -vxzf traefik-0.2.0.tgz
  3. Anwenden der Traefik-CRDs:

    kubectl apply -f ./traefik/charts/traefik/crds/
  4. Suchen Sie die Helmkartenversion, die Sie mit Ihrem aktualisierten Traefik verwenden können:

    helm search repo acc-helm-repo/traefik

    Antwort:

    NAME                                    CHART VERSION   APP VERSION DESCRIPTION
    acc-helm-repo/traefik                 0.2.0           2.5.3       Helm chart for Traefik Ingress controller
    acc-helm-repo/traefik-ingressroutes   0.2.0           2.5.3       A Helm chart for Kubernetes
  5. Überprüfen Sie die Datei „traefik_values.json“ für das Upgrade:

    1. Öffnen Sie die Datei traefik_Values.json.

    2. Prüfen Sie, ob ein Wert für das vorhanden ist imagePullSecret Feld. Wenn er leer ist, entfernen Sie den folgenden Text aus der Datei:

      "imagePullSecrets": [{"name": ""}],
    3. Stellen Sie sicher, dass das Traefik-Bild an den richtigen Ort geleitet wird und den richtigen Namen hat:

      image: [your_registry_path]/traefik
  6. Aktualisieren Sie Ihre Traefik-Konfiguration:

    helm upgrade --version 0.2.0 --namespace netapp-acc -f traefik_values.json traefik acc-helm-repo/traefik

    Antwort:

    Release "traefik" has been upgraded. Happy Helming!
    NAME: traefik
    LAST DEPLOYED: Mon Oct 25 22:53:19 2021
    NAMESPACE: netapp-acc
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None

Aktualisieren Sie den Cert-Manager-Service

Hinweis Sie müssen bereits den abgeschlossen haben Traefik-Update Und um Traefik und Cert-Manager zu aktualisieren,ACC-Helm-repo in Helm hinzugefügt Vor dem Abschluss des folgenden Verfahrens.
  1. Suchen Sie die Version des Steuerrads, die Sie mit Ihrem aktualisierten Cert-Manager verwenden möchten:

    helm search repo acc-helm-repo/cert-manager

    Antwort:

    NAME CHART VERSION APP VERSION DESCRIPTION
    acc-helm-repo/cert-manager 0.3.0 v1.5.4 A Helm chart for cert-manager
    acc-helm-repo/cert-manager-certificates 0.1.0 1.16.0 A Helm chart for Kubernetes
  2. Überprüfen Sie die Datei cert_Manager_values.json für ein Upgrade:

    1. Öffnen Sie die Datei cert_Manager_values.json.

    2. Prüfen Sie, ob ein Wert für das vorhanden ist imagePullSecret Feld. Wenn er leer ist, entfernen Sie den folgenden Text aus der Datei:

      "imagePullSecrets": [{"name": ""}],
    3. Stellen Sie sicher, dass die drei Bilder des Zertifikaten-Managers an den richtigen Ort geleitet werden und die richtigen Namen haben.

  3. Aktualisieren Sie Ihre Cert-Manager-Konfiguration:

    helm upgrade --version 0.3.0 --namespace netapp-acc -f cert_manager_values.json cert-manager acc-helm-repo/cert-manager

    Antwort:

    Release "cert-manager" has been upgraded. Happy Helming!
    NAME: cert-manager
    LAST DEPLOYED: Tue Nov 23 11:20:05 2021
    NAMESPACE: netapp-acc
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None

Überprüfen Sie den Systemstatus

  1. Melden Sie sich beim Astra Control Center an.

  2. Vergewissern Sie sich, dass alle gemanagten Cluster und Applikationen weiterhin vorhanden und geschützt sind.