4.3.2. 使用 CLI 订阅 OpenShift virtualization 目录
在安装 OpenShift Virtualization 前,需要订阅到 OpenShift Virtualization catalog。订阅会授予 OpenShift virtualization Operator 对 openshift-cnv 命名空间的访问权限。
为了订阅,在您的集群中应用一个单独的清单(manifest)来配置 Namespace、OperatorGroup 和 Subscription 对象。
先决条件
- 在集群上安装 OpenShift Container Platform 4.20。
-
安装 OpenShift CLI (
oc) 。 -
以具有
cluster-admin特权的用户身份登录。
流程
创建一个包含以下清单的 YAML 文件:
apiVersion: v1 kind: Namespace metadata: name: openshift-cnv labels: openshift.io/cluster-monitoring: "true" --- apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: kubevirt-hyperconverged-group namespace: openshift-cnv spec: targetNamespaces: - openshift-cnv --- apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: hco-operatorhub namespace: openshift-cnv spec: source: redhat-operators sourceNamespace: openshift-marketplace name: kubevirt-hyperconverged startingCSV: kubevirt-hyperconverged-operator.v4.20.14 channel: "stable"使用
stable频道可确保您安装与 OpenShift Container Platform 版本兼容的 OpenShift Virtualization 版本。运行以下命令,为 OpenShift Virtualization 创建所需的
Namespace、OperatorGroup和Subscription对象:$ oc apply -f <filename>.yaml
验证
您必须验证订阅创建是否成功,然后才能安装 OpenShift Virtualization。
检查
ClusterServiceVersion(CSV) 对象是否已成功创建。运行以下命令并验证输出:$ oc get csv -n openshift-cnv如果成功创建 CSV,输出会显示一个条目,其中包含
NAME值kubevirt-hyperconverged-operator-*,DISPLAY值OpenShift Virtualization, 和PHASE值Succeeded,如下例所示:输出示例:
NAME DISPLAY VERSION REPLACES PHASE kubevirt-hyperconverged-operator.v4.20.14 OpenShift Virtualization 4.20.14 kubevirt-hyperconverged-operator.v4.19.0 Succeeded检查
HyperConverged自定义资源(CR)是否具有正确的版本。运行以下命令并验证输出:$ oc get hco -n openshift-cnv kubevirt-hyperconverged -o json | jq .status.versions输出示例:
{ "name": "operator", "version": "4.20.14" }验证
HyperConvergedCR 条件。运行以下命令并检查输出:$ oc get hco kubevirt-hyperconverged -n openshift-cnv -o json | jq -r '.status.conditions[] | {type,status}'输出示例:
{ "type": "ReconcileComplete", "status": "True" } { "type": "Available", "status": "True" } { "type": "Progressing", "status": "False" } { "type": "Degraded", "status": "False" } { "type": "Upgradeable", "status": "True" }