9.4. 仮想マシンテンプレートのカスタム namespace へのデプロイ
Red Hat は、openshift
namespace にインストールされる、事前に設定された仮想マシンテンプレートを提供します。ssp-operator
は、デフォルトで仮想マシンテンプレートを openshift
namespace にデプロイします。openshift
namespace のテンプレートは、すべてのユーザーに広く公開されます。これらのテンプレートは、さまざまなオペレーティングシステムの Virtualization
9.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>
9.4.2. カスタム namespace へのテンプレートの追加
ssp-operator
は、デフォルトで仮想マシンテンプレートを openshift
namespace にデプロイします。openshift
namespace のテンプレートは、すべてのユーザーに広く公開されます。カスタム namespace が作成され、テンプレートがその namespace に追加されると、openshift
namespace の仮想マシンテンプレートを変更または削除することができます。テンプレートをカスタム namespace に追加するには、ssp-operator
が含まれる HyperConverged
カスタムリソース (CR) を編集します。
手順
openshift
namespace で利用可能な仮想マシンテンプレートの一覧を表示します。$ oc get templates -n openshift
以下のコマンドを実行して、デフォルトエディターで
HyperConverged
CR を編集します。$ oc edit hco -n openshift-cnv kubevirt-hyperconverged
カスタム namespace で利用可能な仮想マシンテンプレートの一覧を表示します。
$ oc get templates -n customnamespace
commonTemplatesNamespace
属性を追加し、カスタム namespace を指定します。以下に例を示します。apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged spec: commonTemplatesNamespace: customnamespace 1
- 1
- テンプレートをデプロイするためのカスタム namespace。
-
変更を保存し、エディターを終了します。
ssp-operator
は、デフォルトのopenshift
namespace にある仮想マシンテンプレートをカスタム namespace に追加します。
9.4.2.1. カスタム namespace からのテンプレートの削除
カスタム namespace から仮想マシンテンプレートを削除するには、HyperConverged
カスタムリソース (CR) から commonTemplateNamespace
属性を削除し、そのカスタム namespace から各テンプレートを削除します。
手順
以下のコマンドを実行して、デフォルトエディターで
HyperConverged
CR を編集します。$ oc edit hco -n openshift-cnv kubevirt-hyperconverged
commonTemplateNamespace
属性を削除します。apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged spec: commonTemplatesNamespace: customnamespace 1
- 1
- 削除する
commonTemplatesNamespace
属性。
削除されたカスタム namespace から特定のテンプレートを削除します。
$ oc delete templates -n customnamespace <template_name>
検証
テンプレートがカスタム namespace から削除されていることを確認します。
$ oc get templates -n customnamespace