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
Important

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

  1. Ouvrez le CR HyperConverged dans votre éditeur par défaut en exécutant la commande suivante :

    $ oc edit hco -n openshift-cnv kubevirt-hyperconverged
    Copy to Clipboard Toggle word wrap
  2. Définissez le champ spec.featureGates.deployTektonTaskResources sur true.

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
      namespace: kubevirt-hyperconverged
    spec:
      tektonPipelinesNamespace: <user_namespace> 
    1
    
      featureGates:
        deployTektonTaskResources: true 
    2
    
    #...
    Copy to Clipboard Toggle word wrap
    1
    L'espace de noms dans lequel les pipelines doivent être exécutés.
    2
    Le portail de fonctionnalités doit être activé pour déployer des ressources TTO.
    Note

    Les tâches de cluster et les exemples de pipelines restent disponibles même si vous désactivez le portail de fonctionnalités ultérieurement.

  3. Enregistrez vos modifications et quittez l'éditeur.

Le tableau suivant présente les tâches de la grappe qui sont incluses dans l'opérateur de tâches Tekton.

Expand
Tableau 10.3. Tâches de la machine virtuelle prises en charge par l'opérateur de tâches Tekton
TâcheDescription

create-vm-from-template

Créer une machine virtuelle à partir d'un modèle.

copy-template

Copier un modèle de machine virtuelle.

modify-vm-template

Modifier un modèle de machine virtuelle.

modify-data-object

Créer ou supprimer des volumes de données ou des sources de données.

cleanup-vm

Exécuter un script ou une commande dans une machine virtuelle et arrêter ou supprimer la machine virtuelle par la suite.

disk-virt-customize

Utilisez l'outil virt-customize pour exécuter un script de personnalisation sur un PVC cible.

disk-virt-sysprep

Utilisez l'outil virt-sysprep pour exécuter un script sysprep sur un PVC cible.

wait-for-vmi-status

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.

Vous pouvez exécuter les exemples de pipelines à partir du menu Pipelines de la console web.

Procédure

  1. Cliquez sur Pipelines Pipelines dans le menu latéral.
  2. Sélectionnez une canalisation pour ouvrir la page Pipeline details.
  3. Dans la liste Actions, sélectionnez Start. La boîte de dialogue Start Pipeline s'affiche.
  4. 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.

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

  1. 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: {}
    Copy to Clipboard Toggle word wrap
    1
    Indiquez l'URL du fichier ISO de Windows 10 64 bits. La langue du produit doit être l'anglais (États-Unis).
  2. Appliquer le manifeste PipelineRun:

    $ oc apply -f windows10-installer-run.yaml
    Copy to Clipboard Toggle word wrap
  3. 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: {}
    Copy to Clipboard Toggle word wrap
  4. Appliquer le manifeste PipelineRun:

    $ oc apply -f windows10-customize-run.yaml
    Copy to Clipboard Toggle word wrap
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat