1.3. OpenShift Virtualization アーキテクチャー
Operator Lifecycle Manager (OLM) は、OpenShift Virtualization の各コンポーネントのオペレーター Pod をデプロイします。
-
コンピューティング:
virt-operator
-
ストレージ:
cdi-operator
-
ネットワーク:
cluster-network-addons-operator
-
スケーリング:
ssp-operator
-
テンプレート作成:
tekton-tasks-operator
OLM は、他のコンポーネントのデプロイ、設定、およびライフサイクルを担当する hyperconverged-cluster-operator
Pod と、いくつかのヘルパー Pod (hco-webhook
および hyperconverged-cluster-cli-download
) もデプロイします。
すべての Operator Pod が正常にデプロイされたら、HyperConverged
カスタムリソース (CR) を作成する必要があります。HyperConverged
CR で設定された設定は、信頼できる唯一の情報源および OpenShift Virtualization のエントリーポイントとして機能し、CR の動作をガイドします。
HyperConverged
CR は、調整ループ内の他のすべてのコンポーネントの Operator に対応する CR を作成します。その後、各 Operator は、デーモンセット、config map、および OpenShift Virtualization コントロールプレーン用の追加コンポーネントなどのリソースを作成します。たとえば、HyperConverged Operator (HCO) が KubeVirt
CR を作成すると、OpenShift Virtualization Operator がそれを調整し、virt-controller
、virt-handler
、virt-api
などの追加リソースを作成します。
OLM は Hostpath Provisioner (HPP) Operator をデプロイしますが、hostpath-provisioner
CR を作成するまで機能しません。
1.3.1. HyperConverged Operator (HCO) について
HCO (hco- operator
) は、OpenShift Virtualization をデプロイおよび管理するための単一のエントリーポイントと、独自のデフォルトを持ついくつかのヘルパー Operator を提供します。また、これらの Operator のカスタムリソース (CR) も作成します。
コンポーネント | 説明 |
---|---|
|
|
|
クラスターから直接ダウンロードできるように、 |
| OpenShift Virtualization に必要なすべての Operator、CR、およびオブジェクトが含まれています。 |
| Scheduling, Scale, and Performance (SSP) CR。これは、HCO によって自動的に作成されます。 |
| Containerized Data Importer (CDI) CR。これは、HCO によって自動的に作成されます。 |
|
|
1.3.2. Containerized Data Importer (CDI) Operator について
CDI Operator cdi-operator
は、CDI とその関連リソースを管理し、データボリュームを使用して仮想マシンイメージを永続ボリューム要求 (PVC) にインポートします。
コンポーネント | 説明 |
---|---|
| 安全なアップロードトークンを発行して、VM ディスクを PVC にアップロードするための承認を管理します。 |
| 外部ディスクのアップロードトラフィックを適切なアップロードサーバー Pod に転送して、正しい PVC に書き込むことができるようにします。有効なアップロードトークンが必要です。 |
| データボリュームの作成時に仮想マシンイメージを PVC にインポートするヘルパー Pod。 |
1.3.3. Cluster Network Addons Operator について
Cluster Network Addons Operator (cluster-network-addons-operator
) は、クラスターにネットワークコンポーネントをデプロイし、拡張ネットワーク機能の関連リソースを管理します。
コンポーネント | 説明 |
---|---|
| Kubemacpool の Webhook の TLS 証明書を管理します。 |
| 仮想マシン (VM) ネットワークインターフェイスカード (NIC) の MAC アドレスプールサービスを提供します。 |
| ノードで使用可能なネットワークブリッジをノードリソースとしてマークします。 |
| クラスターノードに Container Network Interface (CNI) プラグインをインストールし、ネットワーク接続定義を介して Linux ブリッジに VM を接続できるようにします。 |
1.3.4. Hostpath Provisioner (HPP) Operator について
HPP オペレーター hostpath-provisioner-operator
は、マルチノード HPP および関連リソースをデプロイおよび管理します。
コンポーネント | 説明 |
---|---|
| HPP の実行が指定されている各ノードにワーカーを提供します。Pod は、指定されたバッキングストレージをノードにマウントします。 |
| HPP の Container Storage Interface (CSI) ドライバーインターフェイスを実装します。 |
| HPP のレガシードライバーインターフェイスを実装します。 |
1.3.5. Scheduling, Scale, and Performance (SSP) Operator について
SSP オペレーター ssp-operator
は、共通テンプレート、関連するデフォルトのブートソース、パイプラインタスク、およびテンプレートバリデーターをデプロイします。
コンポーネント | 説明 |
---|---|
| テンプレートから仮想マシンを作成します。 |
| 仮想マシンテンプレートをコピーします。 |
| 仮想マシンテンプレートを作成または削除します。 |
| データボリュームまたはデータソースを作成または削除します。 |
| 仮想マシンでスクリプトまたはコマンドを実行し、後で仮想マシンを停止または削除します。 |
|
|
|
|
| 特定の仮想マシンインスタンス (VMI) ステータスを待機し、そのステータスに応じて失敗または成功します。 |
| マニフェストから仮想マシンを作成します。 |
1.3.6. OpenShift Virtualization Operator について
OpenShift Virtualization Operator virt-operator
は、現在の仮想マシンワークロードを中断することなく OpenShift Virtualization をデプロイ、アップグレード、管理します。
コンポーネント | 説明 |
---|---|
| すべての仮想化関連フローのエントリーポイントとして機能する HTTP API サーバー。 |
|
新しい VM インスタンスオブジェクトの作成を監視し、対応する Pod を作成します。Pod がノードでスケジュールされると、 |
|
VM への変更を監視し、必要な操作を実行するように |
|
|