Mettez à niveau Astra Control Center
Pour mettre à niveau Astra Control Center, téléchargez les images d'installation et suivez ces instructions. Vous pouvez utiliser cette procédure pour mettre à niveau Astra Control Center dans des environnements connectés à Internet ou à air comprimé.
Ces instructions décrivent le processus de mise à niveau d'Astra Control Center, qui passe de la deuxième version la plus récente à cette version actuelle. Vous ne pouvez pas effectuer une mise à niveau directement à partir d'une version qui est à au moins deux versions derrière la version actuelle. Si la version d'Astra Control Center installée est plusieurs versions derrière la dernière version, vous devrez peut-être effectuer des mises à niveau de chaîne vers des versions plus récentes jusqu'à ce que votre Astra Control Center installée ne soit qu'une seule version derrière la dernière version. Pour obtenir la liste complète des versions publiées, reportez-vous au "notes de version".
Avant de procéder à la mise à niveau, assurez-vous que votre environnement respecte toujours le "Configuration minimale requise pour le déploiement d'Astra Control Center". Votre environnement doit disposer des éléments suivants :
-
Un activé "De provisionnement Astra Control" Avec Astra Trident en cours d'exécution
-
Déterminez la version d'Astra Trident que vous exécutez :
kubectl get tridentversion -n trident
Si vous exécutez Astra Trident 23.01 ou une version antérieure, utilisez-les "instructions" Pour effectuer une mise à niveau vers une version plus récente d'Astra Trident avant de passer à Astra Control Provisioner. Vous pouvez effectuer une mise à niveau directe vers Astra Control Provisioner 24.02 si votre Astra Trident se trouve dans une fenêtre à quatre versions de la version 24.02. Par exemple, vous pouvez effectuer une mise à niveau directe d'Astra Trident 23.04 vers Astra Control Provisioner 24.02. -
Vérifiez que le mécanisme de provisionnement Astra Control a été utilisé "activé". ASTRA Control Provisioner ne fonctionnera pas avec les versions d'Astra Control Center antérieures à 23.10. Mettez à niveau votre mécanisme de provisionnement Astra Control afin qu'il dispose de la même version que l'Astra Control Center que vous mettez à niveau pour accéder aux toutes dernières fonctionnalités.
-
-
Une distribution Kubernetes prise en charge
Déterminez la version Kubernetes que vous exécutez :
kubectl get nodes -o wide
-
Ressources du cluster suffisantes
Déterminer les ressources disponibles du cluster :
kubectl describe node <node name>
-
Une classe de stockage par défaut
Déterminez votre classe de stockage par défaut :
kubectl get storageclass
-
Services API sains et disponibles
Assurez-vous que tous les services API sont en état de santé et disponibles :
kubectl get apiservices
-
* (Registres locaux uniquement) Un registre local que vous pouvez utiliser pour envoyer et télécharger des images Astra Control Center*
-
* (OpenShift uniquement) opérateurs de grappes sains et disponibles*
S'assurer que tous les opérateurs du groupe d'instruments sont en état de fonctionnement et disponibles.
kubectl get clusteroperators
Vous devez également tenir compte des points suivants :
Effectuez les mises à niveau dans une fenêtre de maintenance lorsque les planifications, les sauvegardes et les snapshots ne sont pas en cours d'exécution. |
-
Accès au registre d'images NetApp Astra Control :
Vous avez la possibilité d'obtenir des images d'installation et des améliorations de fonctionnalités pour Astra Control, telles que Astra Control Provisioner, à partir du registre d'images NetApp.-
Notez l'ID de votre compte Astra Control dont vous aurez besoin pour vous connecter au registre.
Votre ID de compte s'affiche dans l'interface utilisateur web d'Astra Control Service. Sélectionnez l'icône de figure en haut à droite de la page, sélectionnez API Access et notez votre ID de compte.
-
A partir de la même page, sélectionnez générer jeton API et copiez la chaîne de jeton API dans le presse-papiers et enregistrez-la dans votre éditeur.
-
Connectez-vous au registre Astra Control :
docker login cr.astra.netapp.io -u <account-id> -p <api-token>
-
-
Déploiements de maillage de service Istio
Si vous avez installé un maillage de service Istio pendant l'installation d'Astra Control Center, cette mise à niveau d'Astra Control Center inclura le maillage de service Istio. Si vous n'avez pas encore de maillage de service, vous ne pouvez en installer qu'un pendant un "déploiement initial" D'Astra Control Center.
Le processus de mise à niveau d'Astra Control Center vous guide à travers les étapes de haut niveau suivantes :
Déconnectez-vous de l'interface utilisateur de l'Astra Control Center avant de commencer la mise à niveau. |
Ne supprimez pas l'opérateur du centre de contrôle Astra (par exemple, kubectl delete -f astra_control_center_operator_deploy.yaml ) À tout moment pendant la mise à niveau ou l'opération Astra Control Center pour éviter de supprimer des modules.
|
Téléchargez et extrayez Astra Control Center
Téléchargez les images d'Astra Control Center à partir de l'un des emplacements suivants :
-
Registre d'images du service Astra Control : utilisez cette option si vous n'utilisez pas de registre local avec les images d'Astra Control Center ou si vous préférez cette méthode au téléchargement du bundle à partir du site de support NetApp.
-
Site de support NetApp : utilisez cette option si vous utilisez un registre local avec les images du Centre de contrôle Astra.
-
Connectez-vous à Astra Control Service.
-
Sur le tableau de bord, sélectionnez Deploy a autogéré instance d'Astra Control.
-
Suivez les instructions pour vous connecter au registre d'images Astra Control, extraire l'image d'installation d'Astra Control Center et extraire l'image.
-
Téléchargez le pack contenant Astra Control Center (
astra-control-center-[version].tar.gz
) du "Page de téléchargements d'Astra Control Center". -
(Recommandé mais facultatif) Téléchargez le lot de certificats et de signatures pour Astra Control Center (
astra-control-center-certs-[version].tar.gz
) pour vérifier la signature du paquet.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
La sortie s'affiche
Verified OK
une fois la vérification terminée. -
Extraire les images du pack Astra Control Center :
tar -vxzf astra-control-center-[version].tar.gz
Suivez les étapes supplémentaires si vous utilisez un registre local
Si vous prévoyez d'envoyer le bundle Astra Control Center vers votre registre local, vous devez utiliser le plug-in de ligne de commande NetApp Astra kubectl.
Retirez le plug-in NetApp Astra kubectl et réinstallez-le
Vous devez utiliser la dernière version du plug-in de ligne de commande NetApp Astra kubectl pour envoyer les images vers un référentiel Docker local.
-
Déterminez si le plug-in est installé :
kubectl astra
-
Faites l'une des actions suivantes :
-
Si le plug-in est installé, la commande doit renvoyer l'aide du plug-in kubectl et vous pouvez supprimer la version existante de kubectl-astra :
delete /usr/local/bin/kubectl-astra
. -
Si la commande renvoie une erreur, le plug-in n'est pas installé et vous pouvez passer à l'étape suivante pour l'installer.
-
-
Installez le plug-in :
-
Répertoriez les binaires NetApp Astra kubectl disponibles et notez le nom du fichier dont vous avez besoin pour votre système d'exploitation et votre architecture de processeur :
La bibliothèque de plug-ins kubectl fait partie du bundle tar et est extraite dans le dossier kubectl-astra
.
ls kubectl-astra/
-
Déplacez le bon binaire dans le chemin actuel et renommez-le
kubectl-astra
:cp kubectl-astra/<binary-name> /usr/local/bin/kubectl-astra
-
Ajoutez les images à votre registre
-
Si vous prévoyez d'envoyer le bundle Astra Control Center vers votre registre local, suivez la séquence d'étapes appropriée pour votre moteur de mise en conteneurs :
Docker-
Accédez au répertoire racine du tarball. Vous devriez voir le
acc.manifest.bundle.yaml
et les répertoires suivants :acc/
kubectl-astra/
acc.manifest.bundle.yaml
-
Envoyez les images du package dans le répertoire d'images Astra Control Center vers votre registre local. Effectuez les remplacements suivants avant d'exécuter le
push-images
commande :-
Remplacez <BUNDLE_FILE> par le nom du fichier bundle Astra Control (
acc.manifest.bundle.yaml
). -
Remplacer <MY_FULL_REGISTRY_PATH> par l'URL du référentiel Docker, par exemple "https://<docker-registry>".
-
Remplacez <MY_REGISTRY_USER> par le nom d'utilisateur.
-
Remplacez <MY_REGISTRY_TOKEN> par un jeton autorisé pour le registre.
kubectl astra packages push-images -m <BUNDLE_FILE> -r <MY_FULL_REGISTRY_PATH> -u <MY_REGISTRY_USER> -p <MY_REGISTRY_TOKEN>
-
Podman-
Accédez au répertoire racine du tarball. Vous devriez voir ce fichier et ce répertoire:
acc/
kubectl-astra/
acc.manifest.bundle.yaml
-
Connectez-vous à votre registre :
podman login <YOUR_REGISTRY>
-
Préparez et exécutez l'un des scripts suivants qui est personnalisé pour la version de Podman que vous utilisez. Remplacez <MY_FULL_REGISTRY_PATH> par l'URL de votre référentiel qui inclut tous les sous-répertoires.
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
Le chemin d'accès à l'image que le script crée doit ressembler aux éléments suivants, selon la configuration de votre registre : https://downloads.example.io/docker-astra-control-prod/netapp/astra/acc/24.02.0-69/image:version
-
-
Modifier le répertoire :
cd manifests
Poser le conducteur du centre de commande Astra mis à jour
-
(Registres locaux uniquement) si vous utilisez un registre local, procédez comme suit :
-
Ouvrez le déploiement de l'opérateur Astra Control Center YAML :
vim astra_control_center_operator_deploy.yaml
Un échantillon annoté YAML suit ces étapes. -
Si vous utilisez un registre qui nécessite une authentification, remplacez ou modifiez la ligne par défaut de
imagePullSecrets: []
avec les éléments suivants :imagePullSecrets: [{name: astra-registry-cred}]
-
Changer
ASTRA_IMAGE_REGISTRY
pour lekube-rbac-proxy
image dans le chemin du registre où vous avez poussé les images dans un étape précédente. -
Changer
ASTRA_IMAGE_REGISTRY
pour leacc-operator
image dans le chemin du registre où vous avez poussé les images dans un étape précédente. -
Ajoutez les valeurs suivantes à la
env
section :- 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
-
-
Installez le nouveau conducteur du centre de contrôle Astra :
kubectl apply -f astra_control_center_operator_deploy.yaml
Exemple de réponse :
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
-
Vérifiez que les pods sont en cours d'exécution :
kubectl get pods -n netapp-acc-operator
Mettez à niveau Astra Control Center
-
Modifiez la ressource personnalisée Astra Control Center (CR) :
kubectl edit AstraControlCenter -n [netapp-acc or custom namespace]
Un échantillon annoté YAML suit ces étapes. -
Modifier le numéro de version de l'Astra (
astraVersion
intérieur despec
) de23.10.0
à24.02.0
:Vous ne pouvez pas effectuer une mise à niveau directement à partir d'une version qui est à au moins deux versions derrière la version actuelle. Pour obtenir la liste complète des versions publiées, reportez-vous au "notes de version". spec: accountName: "Example" astraVersion: "[Version number]"
-
Modifiez le registre d'images :
-
(Registres locaux uniquement) si vous utilisez un registre local, vérifiez que le chemin du registre d'images correspond au chemin du registre auquel vous avez transmis les images dans un étape précédente. Mise à jour
imageRegistry
intérieur despec
si le registre local a changé depuis votre dernière installation. -
(Registre d'images Astra Control) utilisez le registre d'images Astra Control (
cr.astra.netapp.io
) Vous avez utilisé pour télécharger le bundle Astra Control mis à jour.imageRegistry: name: "[cr.astra.netapp.io or your_registry_path]"
-
-
Ajoutez les éléments suivants à votre
crds
configuration à l'intérieur despec
:crds: shouldUpgrade: true
-
Ajoutez les lignes suivantes dans
additionalValues
intérieur despec
Dans le CR Astra Control Center :additionalValues: nautilus: startupProbe: periodSeconds: 30 failureThreshold: 600 keycloak-operator: livenessProbe: initialDelaySeconds: 180 readinessProbe: initialDelaySeconds: 180
-
Enregistrez et quittez l'éditeur de fichiers. Les modifications seront appliquées et la mise à niveau commencera.
-
(Facultatif) Vérifiez que les modules se terminent et deviennent disponibles à nouveau :
watch kubectl get pods -n [netapp-acc or custom namespace]
-
Attendez que les conditions d'état de l'Astra Control indiquent que la mise à niveau est terminée et prête (
True
) :kubectl get AstraControlCenter -n [netapp-acc or custom namespace]
Réponse :
NAME UUID VERSION ADDRESS READY astra 9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f 24.02.0-69 10.111.111.111 True
Pour surveiller le statut de la mise à niveau pendant l'opération, exécutez la commande suivante : kubectl get AstraControlCenter -o yaml -n [netapp-acc or custom namespace]
Pour inspecter les journaux de l'opérateur de l'Astra Control Center, exécutez la commande suivante :
kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
Vérifiez l'état du système
-
Connectez-vous à Astra Control Center.
-
Vérifiez que la version a été mise à niveau. Consultez la page support de l'interface utilisateur.
-
Vérifiez que tous vos clusters et applications gérés sont toujours présents et protégés.