10.17. Gérer les machines virtuelles avec OpenShift Pipelines
Red Hat OpenShift Pipelines est un framework CI/CD natif Kubernetes qui permet aux développeurs de concevoir et d'exécuter chaque étape du pipeline CI/CD dans son propre conteneur.
L'opérateur de tâches Tekton (TTO) intègre la virtualisation OpenShift avec les pipelines OpenShift. TTO inclut des tâches de cluster et des exemples de pipelines qui vous permettent de :
- Créer et gérer des machines virtuelles (VM), des réclamations de volumes persistants (PVC) et des volumes de données
- Exécuter des commandes dans des machines virtuelles
-
Manipuler les images de disque avec les outils
libguestfs
La gestion des machines virtuelles avec Red Hat OpenShift Pipelines est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir des commentaires pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
10.17.1. Conditions préalables
-
Vous avez accès à un cluster OpenShift Container Platform avec les permissions
cluster-admin
. -
Vous avez installé l'OpenShift CLI (
oc
). - Vous avez installé OpenShift Pipelines.
10.17.2. Déployer les ressources de l'opérateur Tekton Tasks
Les tâches du cluster Tekton Tasks Operator (TTO) et les exemples de pipelines ne sont pas déployés par défaut lorsque vous installez OpenShift Virtualization. Pour déployer les ressources TTO, activez la porte de fonctionnalité deployTektonTaskResources
dans la ressource personnalisée (CR) HyperConverged
.
Procédure
Ouvrez le CR
HyperConverged
dans votre éditeur par défaut en exécutant la commande suivante :$ oc edit hco -n openshift-cnv kubevirt-hyperconverged
Définissez le champ
spec.featureGates.deployTektonTaskResources
surtrue
.apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged namespace: kubevirt-hyperconverged spec: tektonPipelinesNamespace: <user_namespace> 1 featureGates: deployTektonTaskResources: true 2 #...
NoteLes tâches de cluster et les exemples de pipelines restent disponibles même si vous désactivez le portail de fonctionnalités ultérieurement.
- Enregistrez vos modifications et quittez l'éditeur.
10.17.3. Tâches de la machine virtuelle prises en charge par l'opérateur de tâches Tekton
Le tableau suivant présente les tâches de la grappe qui sont incluses dans l'opérateur de tâches Tekton.
Tâche | Description |
---|---|
| Créer une machine virtuelle à partir d'un modèle. |
| Copier un modèle de machine virtuelle. |
| Modifier un modèle de machine virtuelle. |
| Créer ou supprimer des volumes de données ou des sources de données. |
| Exécuter un script ou une commande dans une machine virtuelle et arrêter ou supprimer la machine virtuelle par la suite. |
|
Utilisez l'outil |
|
Utilisez l'outil |
| Attendre un état spécifique d'une instance de machine virtuelle et échouer ou réussir en fonction de l'état. |
10.17.4. Exemples de pipelines
Tekton Tasks Operator comprend les exemples suivants de manifestes Pipeline
. Vous pouvez exécuter les exemples de pipelines en utilisant la console web ou le CLI.
- Pipeline d'installation de Windows 10
- Ce pipeline installe Windows 10 dans un nouveau volume de données à partir d'une image d'installation Windows (fichier ISO). Un fichier de réponse personnalisé est utilisé pour exécuter le processus d'installation.
- Personnaliser le pipeline de Windows 10
- Ce pipeline clone le volume de données d'une installation de base de Windows 10, le personnalise en installant Microsoft SQL Server Express, puis crée une nouvelle image et un nouveau modèle.
10.17.4.1. Exécuter les pipelines d'exemple à l'aide de la console web
Vous pouvez exécuter les exemples de pipelines à partir du menu Pipelines de la console web.
Procédure
-
Cliquez sur Pipelines
Pipelines dans le menu latéral. - Sélectionnez une canalisation pour ouvrir la page Pipeline details.
- Dans la liste Actions, sélectionnez Start. La boîte de dialogue Start Pipeline s'affiche.
- Conservez les valeurs par défaut des paramètres, puis cliquez sur Start pour lancer le pipeline. L'onglet Details suit la progression de chaque tâche et affiche l'état du pipeline.
10.17.4.2. Exécuter les pipelines d'exemple à l'aide de l'interface de programmation
Utilisez une ressource PipelineRun
pour exécuter les exemples de pipelines. Un objet PipelineRun
est l'instance en cours d'exécution d'un pipeline. Il instancie un pipeline pour l'exécuter avec des entrées, des sorties et des paramètres d'exécution spécifiques sur un cluster. Il crée également un objet TaskRun
pour chaque tâche du pipeline.
Procédure
Pour exécuter le pipeline d'installation de Windows 10, créez le manifeste
PipelineRun
suivant :apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata: generateName: windows10-installer-run- labels: pipelinerun: windows10-installer-run spec: params: - name: winImageDownloadURL value: <link_to_windows_10_iso> 1 pipelineRef: name: windows10-installer taskRunSpecs: - pipelineTaskName: copy-template taskServiceAccountName: copy-template-task - pipelineTaskName: modify-vm-template taskServiceAccountName: modify-vm-template-task - pipelineTaskName: create-vm-from-template taskServiceAccountName: create-vm-from-template-task - pipelineTaskName: wait-for-vmi-status taskServiceAccountName: wait-for-vmi-status-task - pipelineTaskName: create-base-dv taskServiceAccountName: modify-data-object-task - pipelineTaskName: cleanup-vm taskServiceAccountName: cleanup-vm-task status: {}
- 1
- Indiquez l'URL du fichier ISO de Windows 10 64 bits. La langue du produit doit être l'anglais (États-Unis).
Appliquer le manifeste
PipelineRun
:$ oc apply -f windows10-installer-run.yaml
Pour exécuter le pipeline de personnalisation de Windows 10, créez le manifeste
PipelineRun
suivant :apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata: generateName: windows10-customize-run- labels: pipelinerun: windows10-customize-run spec: params: - name: allowReplaceGoldenTemplate value: true - name: allowReplaceCustomizationTemplate value: true pipelineRef: name: windows10-customize taskRunSpecs: - pipelineTaskName: copy-template-customize taskServiceAccountName: copy-template-task - pipelineTaskName: modify-vm-template-customize taskServiceAccountName: modify-vm-template-task - pipelineTaskName: create-vm-from-template taskServiceAccountName: create-vm-from-template-task - pipelineTaskName: wait-for-vmi-status taskServiceAccountName: wait-for-vmi-status-task - pipelineTaskName: create-base-dv taskServiceAccountName: modify-data-object-task - pipelineTaskName: cleanup-vm taskServiceAccountName: cleanup-vm-task - pipelineTaskName: copy-template-golden taskServiceAccountName: copy-template-task - pipelineTaskName: modify-vm-template-golden taskServiceAccountName: modify-vm-template-task status: {}
Appliquer le manifeste
PipelineRun
:$ oc apply -f windows10-customize-run.yaml