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
  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
    #...
    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.

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.

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.

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

  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.

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

  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: {}
    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
  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: {}
  4. Appliquer le manifeste PipelineRun:

    $ oc apply -f windows10-customize-run.yaml

10.17.5. Ressources supplémentaires

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.

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 leBlog 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.

© 2024 Red Hat, Inc.