7.13. OpenShift Pipelines を使用した仮想マシンの管理
Red Hat OpenShift Pipelines は、開発者が独自のコンテナーで CI/CD パイプラインの各ステップを設計および実行できるようにする、Kubernetes ネイティブの CI/CD フレームワークです。
OpenShift Pipelines タスクとサンプルパイプラインを使用すると、以下を実行できます。
- 仮想マシン(VM)、永続ボリューム要求(PVC)、データボリューム、およびデータソースを作成および管理します。
- 仮想マシンでコマンドを実行します。
-
libguestfs
ツールを使用してディスクイメージを操作します。
タスクは タスクカタログ(ArtifactHub) にあります。
Windows パイプラインの例は、パイプラインカタログ(ArtifactHub) にあります。
7.13.1. 前提条件
-
cluster-admin
権限を使用して OpenShift Container Platform クラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。 - OpenShift Pipeline がインストールされている。
7.13.2. サポート対象の仮想マシンタスク
以下の表は、サポート対象のタスクを示しています。
タスク | 説明 |
---|---|
|
提供されたマニフェストから、または |
| テンプレートからの仮想マシンの作成 |
| 仮想マシンテンプレートをコピーします。 |
| 仮想マシンテンプレートを変更します。 |
| データボリュームまたはデータソースを作成または削除します。 |
| 仮想マシンでスクリプトまたはコマンドを実行し、後で仮想マシンを停止または削除します。 |
|
|
|
|
| 仮想マシンインスタンスの特定のステータスを待機し、ステータスに基づいて失敗または成功します。 |
パイプラインでの仮想マシンの作成では、非推奨になったテンプレートベースのタスクではなく、ClusterInstanceType
と ClusterPreference
が使用されるようになりました。create-vm-from-template
、copy-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 メニューから実行できます。
手順
-
サイドメニューの Pipelines
Pipelines をクリックします。 - パイプラインを選択して、Pipeline details ページを開きます。
- Actions リストから、Start を選択します。Start Pipeline ダイアログが表示されます。
- パラメーターのデフォルト値を保持し、Start をクリックしてパイプラインを実行します。Details タブでは、各タスクの進行状況が追跡され、パイプラインのステータスが表示されます。
7.13.3.2. CLI を使用してサンプルパイプラインを実行する
PipelineRun
リソースを使用して、サンプルパイプラインを実行します。PipelineRun
オブジェクトは、パイプラインの実行中のインスタンスです。これは、クラスター上の特定の入力、出力、および実行パラメーターで実行されるパイプラインをインスタンス化します。また、パイプライン内のタスクごとに TaskRun
オブジェクトを作成します。
手順
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
PipelineRun
マニフェストを適用します。$ oc apply -f windows11-customize-run.yaml