6.12. OpenShift Pipelines を使用した仮想マシンの管理
Red Hat OpenShift Pipelines は、開発者が独自のコンテナーで CI/CD パイプラインの各ステップを設計および実行できるようにする、Kubernetes ネイティブの CI/CD フレームワークです。
OpenShift Pipelines タスクとサンプルパイプラインを使用すると、次のことが可能になります。
- 仮想マシン (VM)、永続ボリューム要求 (PVC)、データボリューム、およびデータソースを作成および管理します。
- 仮想マシンでコマンドを実行します。
-
libguestfs
ツールを使用してディスクイメージを操作します。
タスクは タスクカタログ (ArtifactHub) にあります。
サンプルの Windows パイプラインは 、パイプラインカタログ (ArtifactHub) にあります。
6.12.1. 前提条件
-
cluster-admin
権限で Red Hat OpenShift Service on AWS クラスターにアクセスできる。 -
OpenShift CLI (
oc
) がインストールされている。 - OpenShift Pipeline がインストールされている。
6.12.2. サポートされている仮想マシンタスク
次の表に、サポートされているタスクを示します。
タスク | 説明 |
---|---|
|
提供されたマニフェストから、または |
| テンプレートからの仮想マシンの作成 |
| 仮想マシンテンプレートをコピーします。 |
| 仮想マシンテンプレートを変更します。 |
| データボリュームまたはデータソースを作成または削除します。 |
| 仮想マシンでスクリプトまたはコマンドを実行し、後で仮想マシンを停止または削除します。 |
|
|
|
|
| 仮想マシンインスタンスの特定のステータスを待機し、ステータスに基づいて失敗または成功します。 |
パイプラインでの仮想マシンの作成では、非推奨になったテンプレートベースのタスクではなく、ClusterInstanceType
と ClusterPreference
が使用されるようになりました。create-vm-from-template
、copy-template
、および modify-vm-template
コマンドは引き続き使用できますが、デフォルトのパイプラインタスクでは使用されません。
6.12.3. Windows EFI インストーラーパイプライン
Web コンソールまたは CLI を使用して、Windows EFI installer pipeline を実行できます。
Windows EFI インストーラーパイプラインは、Windows インストールイメージ (ISO ファイル) から Windows 10、Windows 11、または Windows Server 2022 を新しいデータボリュームにインストールします。インストールプロセスの実行には、カスタムアンサーファイルが使用されます。
Windows EFI インストーラーパイプラインは、Red Hat OpenShift Service on AWS によって事前定義され、Microsoft ISO ファイルに適した sysprep
を含む config map ファイルを使用します。さまざまな Windows エディションに関連する ISO ファイルの場合は、システム固有の sysprep
定義を使用して新しい config map ファイルを作成することが必要になる場合があります。
6.12.3.1. Web コンソールを使用してサンプルパイプラインを実行する
サンプルパイプラインは、Web コンソールの Pipelines メニューから実行できます。
手順
-
サイドメニューの Pipelines
Pipelines をクリックします。 - パイプラインを選択して、Pipeline details ページを開きます。
- Actions リストから、Start を選択します。Start Pipeline ダイアログが表示されます。
- パラメーターのデフォルト値を保持し、Start をクリックしてパイプラインを実行します。Details タブでは、各タスクの進行状況が追跡され、パイプラインのステータスが表示されます。
6.12.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 resolver: hub taskRunSpecs: - pipelineTaskName: modify-windows-iso-file PodTemplate: securityContext: fsGroup: 107 runAsUser: 107
PipelineRun
マニフェストを適用します。$ oc apply -f windows11-customize-run.yaml