7.13. OpenShift Pipelines を使用した仮想マシンの管理


Red Hat OpenShift Pipelines は、開発者が独自のコンテナーで CI/CD パイプラインの各ステップを設計および実行できるようにする、Kubernetes ネイティブの CI/CD フレームワークです。

OpenShift Pipelines タスクとサンプルパイプラインを使用すると、以下を実行できます。

  • 仮想マシン(VM)、永続ボリューム要求(PVC)、データボリューム、およびデータソースを作成および管理します。
  • 仮想マシンでコマンドを実行します。
  • libguestfs ツールを使用してディスクイメージを操作します。

タスクは タスクカタログ(ArtifactHub) にあります。

Windows パイプラインの例は、パイプラインカタログ(ArtifactHub) にあります。

7.13.1. 前提条件

7.13.2. サポート対象の仮想マシンタスク

以下の表は、サポート対象のタスクを示しています。

表7.4 サポート対象の仮想マシンタスク
タスク説明

create-vm-from-manifest

提供されたマニフェストから、または virtctl を使用して仮想マシンを作成します。

create-vm-from-template

テンプレートからの仮想マシンの作成

copy-template

仮想マシンテンプレートをコピーします。

modify-vm-template

仮想マシンテンプレートを変更します。

modify-data-object

データボリュームまたはデータソースを作成または削除します。

cleanup-vm

仮想マシンでスクリプトまたはコマンドを実行し、後で仮想マシンを停止または削除します。

disk-virt-customize

virt-customize ツールを使用して、ターゲット PVC でカスタマイズスクリプトを実行します。

disk-virt-sysprep

virt-sysprep ツールを使用して、ターゲット PVC で sysprep スクリプトを実行します。

wait-for-vmi-status

仮想マシンインスタンスの特定のステータスを待機し、ステータスに基づいて失敗または成功します。

注記

パイプラインでの仮想マシンの作成では、非推奨になったテンプレートベースのタスクではなく、ClusterInstanceTypeClusterPreference が使用されるようになりました。create-vm-from-templatecopy-template、および modify-vm-template コマンドは引き続き使用できますが、デフォルトのパイプラインタスクでは使用されません。

7.13.3. Windows EFI インストーラーパイプライン

Web コンソールまたは CLI を使用して、Windows EFI installer pipeline を実行できます。

Windows EFI インストーラーパイプラインは、Windows インストールイメージ (ISO ファイル) から Windows 10、Windows 11、または Windows Server 2022 を新しいデータボリュームにインストールします。インストールプロセスの実行には、カスタムアンサーファイルが使用されます。

注記

Windows EFI インストーラーパイプラインは、OpenShift Container Platform により事前定義された、Microsoft ISO ファイルに適した sysprep を含む config map ファイルを使用します。さまざまな Windows エディションに関連する ISO ファイルの場合は、システム固有の sysprep 定義を使用して新しい config map ファイルを作成することが必要になる場合があります。

7.13.3.1. Web コンソールを使用してサンプルパイプラインを実行する

サンプルパイプラインは、Web コンソールの Pipelines メニューから実行できます。

手順

  1. サイドメニューの Pipelines Pipelines をクリックします。
  2. パイプラインを選択して、Pipeline details ページを開きます。
  3. Actions リストから、Start を選択します。Start Pipeline ダイアログが表示されます。
  4. パラメーターのデフォルト値を保持し、Start をクリックしてパイプラインを実行します。Details タブでは、各タスクの進行状況が追跡され、パイプラインのステータスが表示されます。

7.13.3.2. CLI を使用してサンプルパイプラインを実行する

PipelineRun リソースを使用して、サンプルパイプラインを実行します。PipelineRun オブジェクトは、パイプラインの実行中のインスタンスです。これは、クラスター上の特定の入力、出力、および実行パラメーターで実行されるパイプラインをインスタンス化します。また、パイプライン内のタスクごとに TaskRun オブジェクトを作成します。

手順

  1. Microsoft Windows 11 インストーラーパイプラインを実行するには、次の PipelineRun マニフェストを作成します。

    apiVersion: tekton.dev/v1
    kind: PipelineRun
    metadata:
      generateName: windows11-installer-run-
      labels:
        pipelinerun: windows11-installer-run
    spec:
        params:
        -   name: winImageDownloadURL
            value: <windows_image_download_url> 1
        -   name: acceptEula
            value: false 2
        pipelineRef:
            params:
            -   name: catalog
                value: redhat-pipelines
            -   name: type
                value: artifact
            -   name: kind
                value: pipeline
            -   name: name
                value: windows-efi-installer
            -   name: version
                value: 4.16
            resolver: hub
        taskRunSpecs:
        -   pipelineTaskName: modify-windows-iso-file
            PodTemplate:
                securityContext:
                    fsGroup: 107
                    runAsUser: 107
    1
    Windows 10 64 ビット ISO ファイルの URL を指定します。製品の言語は英語 (米国) でなければなりません。
    2
    PipelineRun オブジェクトの例には、特別なパラメーター acceptEula があります。このパラメーターを設定すると、Microsoft 製品の展開またはインストールごとに適用される Microsoft ユーザー ライセンス契約に同意します。false に設定すると、パイプラインは最初のタスクで終了します。
  2. PipelineRun マニフェストを適用します。

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

7.13.4. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.