9.4. 将虚拟机模板部署到自定义命名空间
红帽提供在 openshift
命名空间中安装的预配置虚拟机模板。默认情况下,ssp-operator
将虚拟机模板部署到 openshift
命名空间。openshift
命名空间中的模板可公开供所有用户使用。这些模板列在不同操作系统的 Virtualization
9.4.1. 为模板创建自定义命名空间
您可以创建一个自定义命名空间,用于部署虚拟机模板,供具有访问这些模板权限的任何人使用。要将模板添加到自定义命名空间,请编辑 HyperConverged
自定义资源(CR),将 commonTemplatesNamespace
添加到 spec,并为虚拟机模板指定自定义命名空间。修改了 HyperConverged
CR 后,ssp-operator
会填充自定义命名空间中的模板。
先决条件
-
安装 OpenShift Container Platform CLI
oc
。 - 以具有 cluster-admin 权限的用户身份登录。
流程
使用以下命令创建自定义命名空间:
$ oc create namespace <mycustomnamespace>
9.4.2. 将模板添加到自定义命名空间中
默认情况下,ssp-operator
将虚拟机模板部署到 openshift
命名空间。openshift
命名空间中的模板对所有用户都公开。当创建自定义命名空间并添加到该命名空间中时,您可以修改或删除 openshift
命名空间中的虚拟机模板。要将模板添加到自定义命名空间,请编辑包含 ssp-operator
的 HyperConverged
自定义资源(CR)。
流程
查看
openshift
命名空间中可用的虚拟机模板列表。$ oc get templates -n openshift
运行以下命令,在默认编辑器中编辑
HyperConverged
CR:$ oc edit hco -n openshift-cnv kubevirt-hyperconverged
查看自定义命名空间中可用的虚拟机模板列表。
$ oc get templates -n customnamespace
添加
commonTemplatesNamespace
属性并指定自定义命名空间。Example:apiVersion: hco.kubevirt.io/v1beta1 kind: HyperConverged metadata: name: kubevirt-hyperconverged spec: commonTemplatesNamespace: customnamespace 1
- 1
- 用于部署模板的自定义命名空间。
-
保存更改并退出编辑器。
ssp-operator
将默认openshift
命名空间中存在的虚拟机模板添加到自定义命名空间中。
9.4.2.1. 从自定义命名空间中删除模板
要从自定义命名空间中删除虚拟机模板,请从 HyperConverged
自定义资源(CR)中删除 commonTemplateNamespace
属性,并从那个自定义命名空间中删除每个模板。
流程
运行以下命令,在默认编辑器中编辑
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
属性。
从已删除的自定义命名空间中删除特定模板。
$ oc delete templates -n customnamespace <template_name>
验证
验证模板是否已从自定义命名空间中删除。
$ oc get templates -n customnamespace