Upgrade Astra Control Center
Um Astra Control Center zu aktualisieren, laden Sie die Installations-Images herunter, und führen Sie diese Anweisungen aus. Mit diesem Verfahren können Sie das Astra Control Center in internetverbundenen oder luftgekapderten Umgebungen aktualisieren.
Diese Anweisungen beschreiben den Upgrade-Prozess für Astra Control Center von der zweitneuesten Version auf diese aktuelle Version. Sie können kein direktes Upgrade von einer Version durchführen, die zwei oder mehr Versionen hinter der aktuellen Version enthält. Wenn Ihre installierte Astra Control Center-Version viele Versionen hinter der aktuellen Version zurückliegt, müssen Sie möglicherweise Kettenaktualisierungen auf neuere Versionen durchführen, bis Ihr installiertes Astra Control Center nur eine Version hinter der neuesten Version zurückliegt. Eine vollständige Liste der freigegebenen Versionen finden Sie im "Versionshinweise".
Stellen Sie vor dem Upgrade sicher, dass Ihre Umgebung weiterhin die Anforderungen erfüllt "Mindestanforderungen für die Implementierung des Astra Control Center". Ihre Umgebung sollte Folgendes haben:
-
Ein aktiviert "Astra Control Provisioner" Mit Astra Trident
-
Bestimmen Sie die Astra Trident-Version, die Sie ausführen:
kubectl get tridentversion -n trident
Wenn Sie Astra Trident 23.01 oder eine frühere Version verwenden, verwenden Sie diese "Anweisungen" Das Upgrade auf eine neuere Version von Astra Trident erfolgt vor dem Upgrade auf Astra Control Provisioner. Sie können ein direktes Upgrade auf Astra Control Provisioner 24.02 durchführen, wenn Ihr Astra Trident sich in einem Fenster mit vier Versionen von Version 24.02 befindet. Sie können beispielsweise direkt von Astra Trident 23.04 auf Astra Control Provisioner 24.02 aktualisieren. -
Astra Control Provisioner überprüfen "Aktiviert". Astra Control Provisioner kann nicht mit Versionen von Astra Control Center vor 23.10 verwendet werden. Aktualisieren Sie die Astra Control Provisioner, damit die Version identisch mit der Version ist, mit der Sie gerade ein Upgrade durchführen, um auf die neuesten Funktionen zuzugreifen.
-
-
Eine unterstützte Kubernetes-Distribution
Bestimmen Sie die Kubernetes-Version, die Sie ausführen:
kubectl get nodes -o wide
-
Ausreichende Clusterressourcen
Ermitteln der verfügbaren Clusterressourcen:
kubectl describe node <node name>
-
Eine Standard-Speicherklasse
Bestimmen Sie Ihre Standard-Storage-Klasse:
kubectl get storageclass
-
Gesunde und verfügbare API-Dienste
Stellen Sie sicher, dass alle API-Services in einem ordnungsgemäßen Zustand und verfügbar sind:
kubectl get apiservices
-
(nur lokale Registrierungen) Eine lokale Registrierung, mit der Sie Bilder aus dem Astra Control Center hochladen können
-
(nur OpenShift) gesunde und verfügbare Clusteroperatoren
Stellen Sie sicher, dass alle Cluster Operator in einem ordnungsgemäßen Zustand und verfügbar sind.
kubectl get clusteroperators
Sie sollten auch Folgendes berücksichtigen:
Führen Sie Upgrades in einem Wartungsfenster durch, wenn Zeitpläne, Backups und Snapshots nicht ausgeführt werden. |
-
Zugriff auf die NetApp Astra Control Image Registry:
Sie haben die Möglichkeit, Installations-Images und Funktionserweiterungen für Astra Control, wie z. B. Astra Control Provisioner, aus der NetApp-Image-Registrierung zu beziehen.-
Notieren Sie Ihre Astra Control Account-ID, die Sie zur Anmeldung in der Registrierung benötigen.
Ihre Konto-ID wird in der Web-UI des Astra Control Service angezeigt. Wählen Sie das Symbol oben rechts auf der Seite aus, wählen Sie API Access aus und notieren Sie sich Ihre Konto-ID.
-
Wählen Sie auf derselben Seite API-Token generieren aus und kopieren Sie die API-Token-Zeichenfolge in die Zwischenablage und speichern Sie sie in Ihrem Editor.
-
Melden Sie sich in der Astra Control Registry an:
docker login cr.astra.netapp.io -u <account-id> -p <api-token>
-
-
Istio Service-Mesh-Implementierungen
Wenn Sie während der Installation von Astra Control Center ein Istio-Service-Mesh installiert haben, enthält dieses Upgrade des Astra Control Center das Istio-Service-Mesh. Wenn Sie noch kein Service-Mesh haben, können Sie nur eines während eines installieren "Erste Implementierung" Astra Control Center integriert.
Der Astra Control Center Upgrade-Prozess führt Sie durch die folgenden grundlegenden Schritte:
Melden Sie sich von der Astra Control Center-Benutzeroberfläche ab, bevor Sie das Upgrade starten. |
Löschen Sie den Operator Astra Control Center nicht (z. B. kubectl delete -f astra_control_center_operator_deploy.yaml ) Zu jeder Zeit während des Astra Control Center Upgrades oder Betrieb, um zu vermeiden, dass Pods gelöscht werden.
|
Laden Sie das Astra Control Center herunter und extrahieren Sie es
Laden Sie die Bilder des Astra Control Center von einem der folgenden Standorte herunter:
-
Astra Control Service Image Registry: Verwenden Sie diese Option, wenn Sie keine lokale Registrierung mit den Astra Control Center Images verwenden oder wenn Sie diese Methode dem Bundle-Download von der NetApp Support-Website vorziehen.
-
NetApp Support-Seite: Verwenden Sie diese Option, wenn Sie eine lokale Registrierung mit den Astra Control Center-Images verwenden.
-
Melden Sie sich beim Astra Control Service an.
-
Wählen Sie im Dashboard Deploy a self-Managed Instance of Astra Control aus.
-
Folgen Sie den Anweisungen, um sich bei der Astra Control-Image-Registrierung anzumelden, das Astra Control Center-Installationsabbild zu ziehen und das Image zu extrahieren.
-
Laden Sie das Bundle mit Astra Control Center herunter (
astra-control-center-[version].tar.gz
) Vom "Download-Seite für Astra Control Center". -
(Empfohlen, aber optional) Laden Sie das Zertifikaten- und Unterschriftenpaket für Astra Control Center herunter (
astra-control-center-certs-[version].tar.gz
) Um die Signatur des Bündels zu überprüfen.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
Die Ausgabe wird angezeigt
Verified OK
Nach erfolgreicher Überprüfung. -
Extrahieren Sie die Bilder aus dem Astra Control Center Bundle:
tar -vxzf astra-control-center-[version].tar.gz
Führen Sie zusätzliche Schritte durch, wenn Sie eine lokale Registrierung verwenden
Wenn Sie planen, das Astra Control Center Bundle in Ihre lokale Registry zu schieben, müssen Sie das NetApp Astra kubectl Kommandozeilen-Plugin verwenden.
Entfernen Sie das NetApp Astra kubectl Plugin und installieren Sie es erneut
Sie müssen die neueste Version des NetApp Astra kubectl-Befehlszeilenplugins verwenden, um Bilder in ein lokales Docker-Repository zu verschieben.
-
Ermitteln Sie, ob das Plug-in installiert ist:
kubectl astra
-
Führen Sie eine der folgenden Aktionen durch:
-
Wenn das Plugin installiert ist, sollte der Befehl die kubectl Plugin-Hilfe zurückgeben und Sie können die vorhandene Version von kubectl-astra entfernen:
delete /usr/local/bin/kubectl-astra
. -
Wenn der Befehl einen Fehler zurückgibt, ist das Plugin nicht installiert und Sie können mit dem nächsten Schritt fortfahren, um es zu installieren.
-
-
Installieren Sie das Plugin:
-
Geben Sie die verfügbaren Plug-ins-Binärdateien von NetApp Astra kubectl an und notieren Sie sich den Namen der für Ihr Betriebssystem und die CPU-Architektur erforderlichen Datei:
Die kubectl Plugin-Bibliothek ist Teil des tar-Bündels und wird in den Ordner extrahiert kubectl-astra
.
ls kubectl-astra/
-
Verschieben Sie die richtige Binärdatei in den aktuellen Pfad, und benennen Sie sie in um
kubectl-astra
:cp kubectl-astra/<binary-name> /usr/local/bin/kubectl-astra
-
Fügen Sie die Bilder zu Ihrer Registrierung hinzu
-
Wenn Sie planen, das Astra Control Center-Paket in Ihre lokale Registrierung zu übertragen, führen Sie die entsprechende Schrittfolge für Ihre Container-Engine aus:
Docker-
Wechseln Sie in das Stammverzeichnis des Tarballs. Sie sollten den sehen
acc.manifest.bundle.yaml
Datei und diese Verzeichnisse:acc/
kubectl-astra/
acc.manifest.bundle.yaml
-
Übertragen Sie die Paketbilder im Astra Control Center-Bildverzeichnis in Ihre lokale Registrierung. Führen Sie die folgenden Ersetzungen durch, bevor Sie den ausführen
push-images
Befehl:-
Ersetzen Sie <BUNDLE_FILE> durch den Namen der Astra Control Bundle-Datei (
acc.manifest.bundle.yaml
). -
<MY_FULL_REGISTRY_PATH> durch die URL des Docker Repositorys ersetzen, beispielsweise "https://<docker-registry>".
-
Ersetzen Sie <MY_REGISTRY_USER> durch den Benutzernamen.
-
Ersetzen Sie <MY_REGISTRY_TOKEN> durch ein autorisiertes Token für die Registrierung.
kubectl astra packages push-images -m <BUNDLE_FILE> -r <MY_FULL_REGISTRY_PATH> -u <MY_REGISTRY_USER> -p <MY_REGISTRY_TOKEN>
-
Podman-
Wechseln Sie in das Stammverzeichnis des Tarballs. Sie sollten diese Datei und das Verzeichnis sehen:
acc/
kubectl-astra/
acc.manifest.bundle.yaml
-
Melden Sie sich bei Ihrer Registrierung an:
podman login <YOUR_REGISTRY>
-
Vorbereiten und Ausführen eines der folgenden Skripts, das für die von Ihnen verwendete Podman-Version angepasst ist. Ersetzen Sie <MY_FULL_REGISTRY_PATH> durch die URL Ihres Repositorys, die alle Unterverzeichnisse enthält.
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
Der Bildpfad, den das Skript erstellt, sollte abhängig von Ihrer Registrierungskonfiguration wie folgt aussehen: https://downloads.example.io/docker-astra-control-prod/netapp/astra/acc/24.02.0-69/image:version
-
-
Telefonbuch ändern:
cd manifests
Installieren Sie den aktualisierten Astra Control Center-Operator
-
(Nur lokale Registrierungsstellen) Wenn Sie eine lokale Registrierung verwenden, führen Sie die folgenden Schritte aus:
-
Astra Control Center Operator Deployment YAML öffnen:
vim astra_control_center_operator_deploy.yaml
Ein YAML-Beispiel mit Anmerkungen folgt diesen Schritten. -
Wenn Sie eine Registrierung verwenden, die eine Authentifizierung erfordert, ersetzen oder bearbeiten Sie die Standardzeile von
imagePullSecrets: []
Mit folgenden Optionen:imagePullSecrets: [{name: astra-registry-cred}]
-
Ändern
ASTRA_IMAGE_REGISTRY
Für daskube-rbac-proxy
Bild zum Registrierungspfad, in dem Sie die Bilder in ein geschoben haben Vorheriger Schritt. -
Ändern
ASTRA_IMAGE_REGISTRY
Für dasacc-operator
Bild zum Registrierungspfad, in dem Sie die Bilder in ein geschoben haben Vorheriger Schritt. -
Fügen Sie dem die folgenden Werte hinzu
env
Abschnitt:- 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
-
-
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
-
Überprüfen Sie, ob Pods ausgeführt werden:
kubectl get pods -n netapp-acc-operator
Upgrade Astra Control Center
-
Bearbeiten der benutzerdefinierten Ressource des Astra Control Center (CR):
kubectl edit AstraControlCenter -n [netapp-acc or custom namespace]
Ein YAML-Beispiel mit Anmerkungen folgt diesen Schritten. -
Ändern Sie die Versionsnummer des Astra (
astraVersion
Innerhalb vonspec
) Aus Richtung23.10.0
Bis24.02.0
:Sie können kein direktes Upgrade von einer Version durchführen, die zwei oder mehr Versionen hinter der aktuellen Version enthält. Eine vollständige Liste der freigegebenen Versionen finden Sie im "Versionshinweise". spec: accountName: "Example" astraVersion: "[Version number]"
-
Ändern der Bildregistrierung:
-
(Nur lokale Registrierungen) Wenn Sie eine lokale Registrierung verwenden, überprüfen Sie, ob Ihr Pfad zur Bildregistrierung mit dem Registrierungspfad übereinstimmt, zu dem Sie die Bilder in einem verschoben haben Vorheriger Schritt. Aktualisierung
imageRegistry
Innerhalb vonspec
Wenn sich die lokale Registrierung seit Ihrer letzten Installation geändert hat. -
(Astra Control Image Registry) Verwenden Sie die Astra Control Image Registry (
cr.astra.netapp.io
) Du hast das aktualisierte Astra Control Bundle heruntergeladen.imageRegistry: name: "[cr.astra.netapp.io or your_registry_path]"
-
-
Fügen Sie Folgendes zu Ihrem hinzu
crds
Konfiguration inspec
:crds: shouldUpgrade: true
-
Fügen Sie die folgenden Zeilen in hinzu
additionalValues
Innerhalb vonspec
Im Astra Control Center CR:additionalValues: nautilus: startupProbe: periodSeconds: 30 failureThreshold: 600 keycloak-operator: livenessProbe: initialDelaySeconds: 180 readinessProbe: initialDelaySeconds: 180
-
Speichern und beenden Sie den Dateieditor. Die Änderungen werden übernommen und das Upgrade beginnt.
-
(Optional) Stellen Sie sicher, dass die Pods beendet werden und wieder verfügbar sind:
watch kubectl get pods -n [netapp-acc or custom namespace]
-
Warten Sie, bis die Statusbedingungen des Astra Control angezeigt werden, um anzuzeigen, dass das Upgrade abgeschlossen und bereit ist (
True
):kubectl get AstraControlCenter -n [netapp-acc or custom namespace]
Antwort:
NAME UUID VERSION ADDRESS READY astra 9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f 24.02.0-69 10.111.111.111 True
Führen Sie den folgenden Befehl aus, um den Upgrade-Status während des Vorgangs zu überwachen: kubectl get AstraControlCenter -o yaml -n [netapp-acc or custom namespace]
Führen Sie den folgenden Befehl aus, um die Bedienerprotokolle des Astra Control Center zu überprüfen:
kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
Überprüfen Sie den Systemstatus
-
Melden Sie sich beim Astra Control Center an.
-
Überprüfen Sie, ob die Version aktualisiert wurde. Weitere Informationen finden Sie auf der Seite Support in der Benutzeroberfläche.
-
Vergewissern Sie sich, dass alle gemanagten Cluster und Applikationen weiterhin vorhanden und geschützt sind.