11.4. 仮想マシンテンプレートのカスタム namespace へのデプロイ
Red Hat は、openshift namespace にインストールされる、事前に設定された仮想マシンテンプレートを提供します。ssp-operator は、デフォルトで仮想マシンテンプレートを openshift namespace にデプロイします。openshift namespace のテンプレートは、すべてのユーザーに広く公開されます。これらのテンプレートは、さまざまなオペレーティングシステムの Virtualization → Templates ページに一覧表示されています。
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) を編集します。
手順
openshiftnamespace で利用可能な仮想マシンテンプレートの一覧を表示します。$ oc get templates -n openshift
以下のコマンドを実行して、デフォルトエディターで
HyperConvergedCR を編集します。$ 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は、デフォルトのopenshiftnamespace にある仮想マシンテンプレートをカスタム namespace に追加します。
11.4.2.1. カスタム namespace からのテンプレートの削除
カスタム namespace から仮想マシンテンプレートを削除するには、HyperConverged カスタムリソース (CR) から commonTemplateNamespace 属性を削除し、そのカスタム namespace から各テンプレートを削除します。
手順
以下のコマンドを実行して、デフォルトエディターで
HyperConvergedCR を編集します。$ 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