機械翻訳について

2 KubeVirtモジュールのインストール

この章では、KubeVirtモジュールをOracle Cloud Native Environmentにインストールする方法について説明します。

前提条件

この項では、KubeVirtモジュールをインストールするための前提条件について説明します。

永続ストレージの設定

リブートおよびライブ移行による状態を維持するために、KubeVirt仮想マシンのストレージを設定することをお薦めします。 StorageClassを使用して使用可能なCephFilesystemを使用できます。 CephFilesystemは、状態を維持するために必要なReadWriteManyファイル・システムです。 Rookモジュールは、CephFilesystemストレージを設定するために使用できます。 Rookモジュールを使用したCephFilesystemおよびStorageClassの設定の詳細は、「Rookモジュール」を参照してください。

コンテナ・レジストリの設定

KubeVirtは、コンテナ化された仮想マシン・イメージをコンテナ・レジストリからプルします。 Kubernetesノードは、適切に構成されたコンテナ・イメージを使用してコンテナ・レジストリにアクセスし、KubeVirtを使用して仮想マシンを作成する必要があります。

コンテナ・レジストリは、Podman、Oracle Container Runtime for Dockerまたはその他のコンテナ・レジストリ・ソフトウェアを使用して設定できます。 Podmanローカル・コンテナ・レジストリの作成の詳細は、「Oracle Linux: Podmanユーザーズ・ガイド」を参照してください。 Oracle Container Runtime for Dockerコンテナ・レジストリの作成の詳細は、「Oracle Linux: Oracle Container Runtime for Dockerユーザーズ・ガイド」を参照してください。

KubeVirt構成ファイルの作成

KubeVirtの拡張構成を実行するには、オプションでKubeVirt構成ファイルを指定できます。 これにより、KubeVirtモジュールをデプロイするときに、デバッグ・ロギングやエミュレーション・オプションなどのKubeVirt設定を設定またはオーバーライドできます。 オーバーライドできるKubeVirtオブジェクトは、アップストリームの「KubeVirtのドキュメント」にリストされます。

YAML形式のオペレータ・ノードにKubeVirt構成ファイルを指定します。 このファイルの上位レベルの構造は、次のようになります:

apiVersion: kubevirt.io/v1
kind: KubeVirt
metadata:
  annotations: {}
  labels: {}
  name: {}
  namespace: {}
spec: {}

Platform API Serverは、KubeVirtモジュールの作成時に構成ファイルに含まれる情報を使用します。 KubeVirtは、このファイルに指定した情報を使用して、KubeVirtのすべての設定および構成を実行します。

KubeVirtモジュールのデプロイ

単一のolcnectl module createコマンドを使用して、KubeVirtの設定に必要なすべてのモジュールをデプロイできます。 このメソッドは、KubeVirtモジュールをKubernetesクラスタのデプロイと同時にデプロイする場合に便利です。

Kubernetesモジュールの既存のデプロイメントがある場合は、KubeVirtモジュールのデプロイ時にそのインスタンスを指定できます。

この項では、KubeVirtモジュールのデプロイに必要な各コンポーネントのインストールについて説明します。

モジュールの作成時に使用可能なプラットフォームCLIコマンド・オプションの完全なリストは、「プラットフォーム・コマンドライン・インタフェース」olcnectl module createコマンドを参照してください。

KubeVirtモジュールをデプロイするには:

  1. 環境をまだ設定していない場合は、モジュールをデプロイできる環境を作成します。 環境の設定方法の詳細は、スタート・ガイドを参照してください。 この例の環境の名前は、myenvironmentです。

  2. Kubernetesモジュールをまだ設定またはデプロイしていない場合は、設定します。 Kubernetesモジュールを環境に追加する方法の詳細は、「Kubernetesモジュール」を参照してください。 この例のKubernetesモジュールの名前は、myclusterです。

  3. KubeVirtモジュールを作成し、--kubevirt-kubernetes-moduleオプションを使用してmyclusterという名前のKubernetesモジュールに関連付けます。 この例では、KubeVirtモジュールの名前はmykubevirtです。

    olcnectl module create \
    --environment-name myenvironment \
    --module kubevirt \
    --name mykubevirt \
    --kubevirt-kubernetes-module mycluster 

    --moduleオプションは、モジュール・タイプを作成(kubevirt)に設定します。 KubeVirtモジュールの名前は、--nameオプション(この場合はmykubevirt)を使用して定義します。

    --kubevirt-kubernetes-moduleオプションは、Kubernetesモジュールの名前を設定します。

    モジュールの追加時に必要なオプションの一部が含まれていないと、そのオプションを指定するように求められます。

  4. olcnectl module installコマンドを使用して、KubeVirtモジュールをインストールします。 たとえば:

    olcnectl module install \
    --environment-name myenvironment \
    --name mykubevirt

    KubeVirtモジュールは、Kubernetesクラスタにデプロイされます。

  5. オプションで、KubeVirt CLIツールvirtctlおよびvirt-viewerをインストールできます。 これらのツールにより、KubeVirt仮想マシンを含む多くの操作の管理が容易になります。 これらのツールは、仮想マシン・コンソールおよびリモート・デスクトップにアクセスするときに役立ちます。 コントロール・プレーン・ノードで、次のツールをインストールします:
    sudo dnf install virtctl virt-viewer

KubeVirtモジュールのデプロイメントの検証

オペレータ・ノードでolcnectl module instancesコマンドを使用して、KubeVirtモジュールがデプロイされていることを確認できます。 たとえば:

olcnectl module instances \
--environment-name myenvironment

出力は次のようになります:

INSTANCE                         MODULE           STATE    
mycluster                        kubernetes       installed
mykubevirt                       kubevirt         installed
myrook                           rook             installed
...

MODULE列のkubevirtのエントリは、installed状態であることに注意してください。

また、olcnectl module reportコマンドを使用して、モジュールに関する情報を確認します。 たとえば、次のコマンドを使用して、myenvironmentmykubevirtという名前のKubeVirtモジュールを確認します:

olcnectl module report \
--environment-name myenvironment \
--name mykubevirt \
--children

olcnectl module reportコマンドの構文の詳細は、「プラットフォーム・コマンドライン・インタフェース」を参照してください。

コントロール・プレーン・ノードで、kubevirtネームスペースでvirt-*デプロイメントが実行されていることを確認します:

kubectl get deployments --namespace kubevirt

出力は次のようになります:

NAME              READY   UP-TO-DATE   AVAILABLE   AGE
virt-api          2/2     2            2           117m
virt-controller   2/2     2            2           116m
virt-operator     2/2     2            2           117m