Upgrade Astra Control Center
Laden Sie zum Upgrade des Astra Control Center das Installationspaket von der NetApp Support Site herunter, und füllen Sie die folgenden Anweisungen aus. Mit diesem Verfahren können Sie das Astra Control Center in internetverbundenen oder luftgekapderten Umgebungen aktualisieren.
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:
-
Eine unterstützte Astra Trident-Version
Details
Bestimmen Sie die ausgeführte Trident-Version:
kubectl get tridentversion -n trident
Siehe "Astra Trident-Dokumentation" Zum Upgrade von einer älteren Version.
Sie müssen ein Upgrade auf Astra Trident 22.10 * VOR* auf Kubernetes 1.25 durchführen. -
Eine unterstützte Kubernetes-Distribution
Details
Bestimmen Sie die Kubernetes-Version, die Sie ausführen:
kubectl get nodes -o wide
-
Ausreichende Clusterressourcen
Details
Ermitteln der verfügbaren Clusterressourcen:
kubectl describe node <node name>
-
Eine Registrierung, mit der Sie Bilder des Astra Control Centers übertragen und hochladen können
-
Eine Standard-Storage-Klasse
Details
Bestimmen Sie Ihre Standard-Storage-Klasse:
kubectl get storageclass
-
Stabile und verfügbare API-Services
Details
Stellen Sie sicher, dass alle API-Services in einem ordnungsgemäßen Zustand und verfügbar sind:
kubectl get apiservices
-
(Nur OpenShift) funktionstüchtige und verfügbare Cluster-Operatoren
Details
Stellen Sie sicher, dass alle Cluster Operator in einem ordnungsgemäßen Zustand und verfügbar sind.
kubectl get clusteroperators
Im Rahmen dieses Verfahrens müssen Sie dies tun Wenn Sie ein Upgrade für Astra Control Center durchführen. Mit diesem aktualisierten Operator können Sie kein Upgrade auf frühere Versionen von Astra Control Center durchführen. |
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.
|
Führen Sie Upgrades in einem Wartungsfenster durch, wenn Zeitpläne, Backups und Snapshots nicht ausgeführt werden. |
Laden Sie das Astra Control Center herunter und extrahieren Sie es
-
Wechseln Sie zum "Astra Control Center: Seite zum Herunterladen von Produkten" Auf der NetApp Support Site Sie können die neueste Version oder eine andere Version aus dem Dropdown-Menü auswählen.
-
(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.Erweitern Sie, um Details anzuzeigen
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
Entfernen Sie das NetApp Astra kubectl Plugin und installieren Sie es erneut
Sie können das NetApp Astra kubectl Befehlszeilenschnittstelle-Plug-in verwenden, um Images 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 Ihrer lokalen Registrierung hinzu
-
Führen Sie die entsprechende Schrittfolge für Ihre Container-Engine durch:
-
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>
-
-
Wechseln Sie in das Stammverzeichnis des Tarballs. Sie sollten diese Datei und das Verzeichnis sehen:
acc.manifest.bundle.yaml
acc/
-
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=23.07.0-25 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=23.07.0-25 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://netappdownloads.jfrog.io/docker-astra-control-prod/netapp/astra/acc/23.07.0-25/image:version
Installieren Sie den aktualisierten Astra Control Center-Operator
-
Telefonbuch ändern:
cd manifests
-
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
-
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
Beispiel für astra_Control_Center_Operator_deploy.yaml:
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:23.07.25 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]
-
Ändern Sie die Versionsnummer des Astra (
astraVersion
Innerhalb vonspec
) Zu der Version, auf die Sie aktualisieren:spec: accountName: "Example" astraVersion: "[Version number]"
-
Überprüfen Sie, ob Ihr Image-Registrierungspfad mit dem von Ihnen gedrückten Registrierungspfad übereinstimmt Vorheriger Schritt. Aktualisierung
imageRegistry
Innerhalb vonspec
Wenn sich die Registrierung seit Ihrer letzten Installation geändert hat.imageRegistry: name: "[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 polaris-keycloak: 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 23.07.0-25 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.