11.4. 仮想マシンテンプレートのカスタム namespace へのデプロイ

Red Hat は、openshift namespace にインストールされる、事前に設定された仮想マシンテンプレートを提供します。ssp-operator は、デフォルトで仮想マシンテンプレートを openshift namespace にデプロイします。openshift namespace のテンプレートは、すべてのユーザーに広く公開されます。これらのテンプレートは、さまざまなオペレーティングシステムの VirtualizationTemplates ページにリスト表示されています。

11.4.1. テンプレート用のカスタム namespace の作成

仮想マシンテンプレートをデプロイするために使用されるカスタム namespace を作成できます。このテンプレートは、アクセス権のある任意のユーザーが使用できます。テンプレートをカスタム namespace に追加するには、HyperConverged カスタムリソース (CR) を編集し、commonTemplatesNamespace を spec に追加し、仮想マシンテンプレートのカスタム namespace を指定します。HyperConverged CR の変更後に、ssp-operator はカスタム namespace のテンプレートに反映します。

前提条件

  • OpenShift Container Platform CLI (oc) をインストールしている。
  • cluster-admin 権限を持つユーザーとしてログインしている。

手順

  • 以下のコマンドを使用してカスタム namespace を作成します。

    $ oc create namespace <mycustomnamespace>

11.4.2. カスタム namespace へのテンプレートの追加

ssp-operator は、デフォルトで仮想マシンテンプレートを openshift namespace にデプロイします。openshift namespace のテンプレートは、すべてのユーザーに広く公開されます。カスタム namespace が作成され、テンプレートがその namespace に追加されると、openshift namespace の仮想マシンテンプレートを変更または削除することができます。テンプレートをカスタム namespace に追加するには、ssp-operator が含まれる HyperConverged カスタムリソース (CR) を編集します。

手順

  1. openshift namespace で利用可能な仮想マシンテンプレートの一覧を表示します。

    $ oc get templates -n openshift
  2. 以下のコマンドを実行して、デフォルトエディターで HyperConverged CR を編集します。

    $ oc edit hco -n openshift-cnv kubevirt-hyperconverged
  3. カスタム namespace で利用可能な仮想マシンテンプレートのリストを表示します。

    $ oc get templates -n customnamespace
  4. commonTemplatesNamespace 属性を追加し、カスタム namespace を指定します。以下に例を示します。

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
    spec:
      commonTemplatesNamespace: customnamespace 1
    1
    テンプレートをデプロイするためのカスタム namespace。
  5. 変更を保存し、エディターを終了します。ssp-operator は、デフォルトの openshift namespace にある仮想マシンテンプレートをカスタム namespace に追加します。

11.4.2.1. カスタム namespace からのテンプレートの削除

カスタム namespace から仮想マシンテンプレートを削除するには、HyperConverged カスタムリソース (CR) から commonTemplateNamespace 属性を削除し、そのカスタム namespace から各テンプレートを削除します。

手順

  1. 以下のコマンドを実行して、デフォルトエディターで HyperConverged CR を編集します。

    $ oc edit hco -n openshift-cnv kubevirt-hyperconverged
  2. commonTemplateNamespace 属性を削除します。

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
    spec:
      commonTemplatesNamespace: customnamespace 1
    1
    削除する commonTemplatesNamespace 属性。
  3. 削除されたカスタム namespace から特定のテンプレートを削除します。

    $ oc delete templates -n customnamespace <template_name>

検証

  • テンプレートがカスタム namespace から削除されていることを確認します。

    $ oc get templates -n customnamespace

11.4.2.2. 関連情報