Mettez à niveau Astra Control Center
Pour mettre à niveau Astra Control Center, téléchargez le pack d'installation depuis le site de support NetApp 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 :
-
A "pris en charge" Version d'Astra Trident
Développez pour les étapes
Déterminez la version de Trident que vous exécutez :
kubectl get tridentversion -n trident
Le cas échéant, mettez à niveau Astra Trident en utilisant ces outils "instructions".
La version 23.10 est la dernière version d'Astra Control Center à prendre en charge Astra Trident. Il est fortement recommandé que vous "Activez le mécanisme de provisionnement Astra Control" D'accéder à des fonctionnalités avancées de gestion et de provisionnement du stockage qui vont au-delà de celles d'Astra Trident. Vous devez tous les deux effectuer une mise à niveau vers Astra Control Center 23.10 et activer Astra Control Provisioner pour utiliser cette fonctionnalité étendue. ASTRA Control Provisioner ne fonctionnera pas avec les versions antérieures d'Astra Control Center. |
-
Une distribution Kubernetes prise en charge
Développez pour les étapes
Déterminez la version Kubernetes que vous exécutez :
kubectl get nodes -o wide
-
Ressources du cluster suffisantes
Développez pour les étapes
Déterminer les ressources disponibles du cluster :
kubectl describe node <node name>
-
Un registre que vous pouvez utiliser pour envoyer et télécharger des images Astra Control Center
-
Une classe de stockage par défaut
Développez pour les étapes
Déterminez votre classe de stockage par défaut :
kubectl get storageclass
-
Services API sains et disponibles
Développez pour les étapes
Assurez-vous que tous les services API sont en état de santé et disponibles :
kubectl get apiservices
-
* (OpenShift uniquement) opérateurs de grappes sains et disponibles*
Développez pour les étapes
S'assurer que tous les opérateurs du groupe d'instruments sont en état de fonctionnement et disponibles.
kubectl get clusteroperators
-
Accéder 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.Développez pour les étapes
-
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>
-
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.
|
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. |
Téléchargez et extrayez Astra Control Center
Vous pouvez choisir de télécharger le bundle Astra Control Center depuis le site du support NetApp ou d'utiliser Docker pour extraire le bundle du registre d'images Astra Control Service.
-
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.Développez pour plus d'informations
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
-
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.
Retirez le plug-in NetApp Astra kubectl et réinstallez-le
Vous pouvez utiliser le 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 local
-
Suivez la séquence d'étapes appropriée pour votre moteur de mise en conteneurs :
-
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>
-
-
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=23.10.0-68 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.10.0-68 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/23.10.0-68/image:version
Poser le conducteur du centre de commande Astra mis à jour
-
Modifier le répertoire :
cd manifests
-
Modifiez le yaml de déploiement de l'opérateur Astra Control Center (
astra_control_center_operator_deploy.yaml
) pour faire référence à votre registre local et à votre secret.vim astra_control_center_operator_deploy.yaml
-
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
Exemple 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.10.72 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]
-
Modifier le numéro de version de l'Astra (
astraVersion
intérieur despec
) de23.07.0
à23.10.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]"
-
Vérifiez que le chemin du registre d'images correspond au chemin du registre vers lequel vous avez poussé les images dans un étape précédente. Mise à jour
imageRegistry
intérieur despec
si le registre a changé depuis votre dernière installation.imageRegistry: name: "[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 23.10.0-68 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.