Déployez manuellement l'opérateur Shift (mode standard)
Déployez manuellement le kit d’outils NetApp Shift en tant que service conteneurisé avec NetApp Trident CSI et Migration Toolkit for Virtualization (MTV). Ce processus permet le provisionnement automatisé du stockage et la migration des disques des machines virtuelles, en tirant parti des annotations et des étiquettes pour acheminer correctement les requêtes entre les composants.
Composants d'architecture
Comprenez comment NetApp Shift toolkit, Trident CSI et Migration Toolkit for Virtualization fonctionnent ensemble pour permettre le provisionnement automatisé du stockage et la migration des disques de machines virtuelles dans votre environnement OpenShift.
toolkit NetApp Shift
-
Déployé en tant que service conteneurisé via un registre d'images
-
Expose un point de terminaison qui écoute les requêtes de revendication de volume persistant (PVC) provenant de MTV avec une annotation spécifique
-
Responsable du traitement des tâches de migration de disques de machines virtuelles, y compris les conversions de format
NetApp Trident CSI (Version 26.06 ou ultérieure)
-
Agit en tant que fournisseur Container Storage Interface (CSI)
-
Reçoit les demandes d'importation de PVC de la boîte à outils Shift
-
Applique une logique basée sur les annotations et les étiquettes PVC pour déterminer s'il faut traiter la requête directement ou la rediriger vers Shift
Kit d'outils de migration pour la virtualisation (MTV 2.12 ou version ultérieure)
-
Orchestre les plans de migration de machines virtuelles
-
Émet des requêtes PVC nécessaires à l’approvisionnement du stockage lors de la migration de machines virtuelles
-
Ajoute des annotations pour guider le traitement en aval
Avant de commencer
Vérifiez que votre OpenShift environnement dispose des composants requis installés et configurés avant de déployer l'opérateur Shift.
-
Migration Toolkit for Virtualization Operator exécute la version 2.12 ou ultérieure
-
Trident est installé via OpenShift OperatorHub - "Guide d'installation Trident"
-
NetApp Shift est déployé sous forme de conteneur avec le point de terminaison Shift accessible à NetApp Trident
-
Une classe de stockage est créée et annotée spécifiquement pour l'utilisation de l'outil Shift toolkit
-
Les annotations identifient Shift toolkit comme le gestionnaire prévu et spécifient le backend Trident cible
-
MTV inclut l'annotation suivante sur les PVC :
forklift.konveyor.io/netapp-shift: "true"
Étape 1 : Téléchargez et extrayez le programme d’installation de Shift
Le package d'installation de Shift contient tout le nécessaire pour déployer l'opérateur Shift et installer Shift.
|
|
Si votre cluster n'a pas accès à quay.io, ignorez cette étape et suivez plutôt la procédure Installation hors ligne (clusters isolés). Revenez à l'étape 2 une fois l'importation de l'image hors ligne terminée. |
-
Téléchargez la dernière version du programme d'installation de Shift depuis "Boîte à outils du site de support NetApp".
-
Extrayez le package d'installation :
tar -xf Shift-installer-1.0.0.tar.gz -
Accédez au répertoire d'installation :
cd shift-installer
Étape 2 : Créez l’espace de noms Shift et les identifiants API
Configurez un espace de noms dédié à l'opérateur Shift et créez les identifiants nécessaires pour un accès API sécurisé.
-
Créez l'espace de noms Shift :
oc create ns shift -
Créez le secret d'accès à l'API Shift dans l'espace de noms Shift. Remplacez les valeurs d'exemple par un nom d'utilisateur unique et un mot de passe robuste adaptés à votre environnement :
oc create secret generic shift-credentials -n shift \ --from-literal=username='admin' \ --from-literal=password='admin'
|
|
Remplacez le mot de passe par une valeur de votre choix. |
Étape 3 : Créez le certificat TLS ConfigMaps
Créez les ConfigMaps qui fournissent le certificat TLS et la clé privée que le service Shift utilise pour servir le trafic HTTPS.
Le certificat doit être émis avec le CN/SAN défini sur shift-toolkit-service.shift.svc.cluster.local. Les fichiers de certificat et de clé doivent être nommés server.cert et server.key, respectivement.
-
Créez le ConfigMap pour le certificat TLS :
oc create configmap shift-toolkit-service-server-crt -n shift \ --from-file=server.cert=server.cert -
Créez la ConfigMap pour la clé privée TLS :
oc create configmap shift-toolkit-service-server-key -n shift \ --from-file=server.key=server.key
|
|
Si HTTPS n'est pas utilisé, définissez INSECURE_TLS=true dans bundle.yaml. Les ConfigMaps requis doivent tout de même être créés comme décrit ci-dessus, même lorsque HTTPS est désactivé et que les certificats TLS ne sont pas activement utilisés.
|
Étape 4 : Créez le bundle CA ConfigMap
Créez l'ConfigMap qui fournit le bundle CA que l'écouteur PVC utilise pour vérifier le certificat TLS du service Shift.
-
Pointez
--from-file`sur le `server.certfichier PEM.La clé dans le ConfigMap doit être
ca.crt. Avec ce ConfigMap en place, l’écouteur s’exécute avecINSECURE_TLS=falseet vérifie le certificat Shift par rapport à ce bundle à l’aide deSHIFT_CA_CERT_FILE. -
Créez le ConfigMap pour le bundle CA :
oc create configmap shift-toolkit-service-ca -n shift \ --from-file=ca.crt=ca.cert
Étape 5 : Créez des revendications de volume persistant
Créez les PVC nécessaires pour le fichier Shift filedb (base de données) et les journaux avant de déployer le bundle.
-
Avant d'appliquer les définitions PVC, mettez à jour
deploy/filedb-pvc.yamletdeploy/logs-pvc.yamlpour spécifier lestorageClassNameapproprié pour votre cluster (par exemple,ontap-storageclass).Ces PVC doivent être créés et disponibles avant le déploiement du bundle à l'étape 6 : Déployer l'opérateur Shift. -
Appliquez le manifeste PVC filedb :
oc apply -f deploy/filedb-pvc.yaml -
Appliquez le manifeste PVC des journaux :
oc apply -f deploy/logs-pvc.yaml
Étape 6 : Déployer l’opérateur Shift
Appliquez la configuration de l'opérateur Shift à votre OpenShift cluster et vérifiez que les pods requis fonctionnent correctement.
-
Depuis le répertoire shift-installer, exécutez la commande deploy :
oc apply -f deploy/shift-bundle.yaml -
Vérifiez l'installation à l'aide de l'état de création du pod :
oc get pods -n shiftExemple de sortie :
NAME READY STATUS RESTARTS AGE shift-68ccd597c-dtsj7 1/1 Running 0 18s shift-pvc-listener-57d546f6b8-r9mgc 1/1 Running 0 18s
|
|
Pour annuler le déploiement, exécutez oc delete -f deploy/bundle.yaml --ignore-not-found. Cette commande supprime les ressources déployées par bundle.yaml tout en préservant le namespace et le secret.
|
Étape 7 : Configurer la classe de stockage pour l’intégration de Shift
Créez une nouvelle classe de stockage ou mettez à jour une classe de stockage existante avec les annotations requises pour l'intégration de Shift.
La classe de stockage doit inclure les annotations suivantes :
-
shift.netapp.io/storage-class-type -
shift.netapp.io/trident-backend-uuid
-
Appliquez les annotations requises à la classe de stockage :
oc patch storageclass nimnas1172 \ --type=merge \ -p '{ "metadata": { "annotations": { "shift.netapp.io/storage-class-type": "shift", "shift.netapp.io/trident-backend-uuid": "facc3aad-83bb-423a-b6a1-ba0fb8811217" } } }'Exemple de sortie :
storageclass.storage.k8s.io/nimnas1172 patchedL'UUID du backend peut être récupéré en exécutant oc get tbc -n trident -
Vérifiez les classes de stockage existantes :
oc get scExemple de sortie :
nimnas1172 (default) csi.trident.netapp.io Delete Immediate true
Étape 8 : Créez et déclenchez le plan MTV
Une fois le déploiement de l'opérateur Shift et la configuration de la classe de stockage terminés, vous pouvez créer et déclencher le plan MTV.
Pour obtenir des informations détaillées sur la création du plan MTV, veuillez vous référer au "Documentation du Migration Toolkit for Virtualization".
La capture d'écran suivante illustre la séquence d'étapes exécutées lorsque le plan de migration est déclenché.
La capture d'écran suivante montre les PVC convertis à l'aide de l'outil Shift et ensuite importés par NetApp Trident.
Plan de migration exécuté avec succès — 5 machines virtuelles et environ 5 To de données migrées en environ 6 minutes.
Une fois la migration terminée, chaque volume cloné doit être détaché. La méthode de détachement dépend de la version d'ONTAP : utilisez la fonctionnalité « clone split » pour ONTAP 9.17.1 et versions ultérieures, ou « vol move » pour les versions antérieures.
Le fractionnement des clones et le déplacement des volumes sont des opérations d'arrière-plan qui n'ont aucun impact sur les charges de travail de production pendant leur exécution. Un script permettant de lancer le processus de détachement est disponible dans le widget Post Migrate Detach du NetApp Console Automation Catalog.
Installation hors ligne (clusters isolés)
Cette section décrit une méthode d'installation alternative pour les clusters n'ayant pas accès à quay.io. Si votre cluster peut accéder à quay.io, suivez les étapes 1–8 à la place.
Pour les clusters n'ayant pas accès à quay.io, importez les archives tar des images dans le registre interne OpenShift avant de déployer le bundle.
Aucune route de registre externe n'est requise. Les opérations de transfert d’images et les références aux images groupées utilisent image-registry.openshift-image-registry.svc:5000, qui est accessible via le réseau du cluster et sécurisé par l’autorité de certification (CA) du cluster.
-
`oc`CLI connectée avec les privilèges de cluster-admin
-
`skopeo`installé
-
Archives d'images disponibles sur l'hôte :
-
shift-toolkit-1.0.0-image.tar -
shift-toolkit-listener-1.0.0-image.tar
-
-
Activer le registre interne (étape unique ; ignorez si déjà configuré) :
oc patch configs.imageregistry.operator.openshift.io cluster \ --type=merge -p '{"spec":{"defaultRoute":true}}' oc get route default-route -n openshift-image-registry -
Générez des informations d'identification de registre à l'aide de la session
ocactive :N’utilisez pas un jeton de compte de service brut, car il peut échouer lors du chargement d’objets blob. Utilisez
oc registry loginpour créer un fichier d’authentification compatible avec le flux de redirection du registre.REGISTRY=image-registry.openshift-image-registry.svc:5000 oc registry login --skip-check \ --registry=$REGISTRY \ --to=/tmp/registry-auth.json -
Transférez l'image du kit d'outils Shift vers le registre interne :
skopeo copy \ docker-archive:shift-toolkit-1.0.0-image.tar \ docker://$REGISTRY/shift/shift-toolkit:1.0.0 \ --dest-tls-verify=false \ --dest-authfile=/tmp/registry-auth.json -
Transférez l'image du listener du kit d'outils Shift vers le registre interne :
skopeo copy \ docker-archive:shift-toolkit-listener-1.0.0-image.tar \ docker://$REGISTRY/shift/shift-toolkit-listener:1.0.0 \ --dest-tls-verify=false \ --dest-authfile=/tmp/registry-auth.json -
Mettez à jour les références d’images dans
deploy/bundle.yamlpour utiliser le registre interne :sed -i \ -e "s|quay.io/netapp/shift-toolkit:1.0.0|$REGISTRY/shift/shift-toolkit:1.0.0|g" \ -e "s|quay.io/netapp/shift-toolkit-listener:1.0.0|$REGISTRY/shift/shift-toolkit-listener:1.0.0|g" \ -e "s|imagePullPolicy: Always|imagePullPolicy: IfNotPresent|g" \ deploy/bundle.yaml -
Déployez le bundle :
oc apply -f deploy/bundle.yaml