1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/virt-subscribing-cli.adoc
2025-10-24 14:50:06 +00:00

174 lines
4.7 KiB
Plaintext

// Module included in the following assemblies:
//
// * virt/install/installing-virt.adoc
:_mod-docs-content-type: PROCEDURE
[id="virt-subscribing-cli_{context}"]
= Subscribing to the {VirtProductName} catalog by using the CLI
Before you install {VirtProductName}, you must subscribe to the {VirtProductName} catalog. Subscribing gives the `{CNVNamespace}` namespace access to the {VirtProductName} Operators.
To subscribe, configure `Namespace`, `OperatorGroup`, and `Subscription` objects by applying a single manifest to your cluster.
.Prerequisites
* Install {product-title} {product-version} on your cluster.
* Install the {oc-first}.
* Log in as a user with `cluster-admin` privileges.
.Procedure
ifdef::openshift-enterprise,openshift-rosa,openshift-dedicated,openshift-rosa-hcp[]
. Create a YAML file that contains the following manifest:
//Note that there are two versions of the following YAML file; the first one is for openshift-enterprise and the second is for openshift-origin (aka OKD).
+
[source,yaml,subs="attributes+"]
----
apiVersion: v1
kind: Namespace
metadata:
name: {CNVNamespace}
labels:
openshift.io/cluster-monitoring: "true"
---
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: kubevirt-hyperconverged-group
namespace: {CNVNamespace}
spec:
targetNamespaces:
- {CNVNamespace}
---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: hco-operatorhub
namespace: {CNVNamespace}
spec:
source: {CNVSubscriptionSpecSource}
sourceNamespace: openshift-marketplace
name: {CNVSubscriptionSpecName}
startingCSV: kubevirt-hyperconverged-operator.v{HCOVersion}
channel: "stable" <1>
----
<1> Using the `stable` channel ensures that you install the version of
{VirtProductName} that is compatible with your {product-title} version.
endif::openshift-enterprise,openshift-rosa,openshift-dedicated,openshift-rosa-hcp[]
ifdef::openshift-origin[]
. Create a YAML file that contains the following manifest:
+
[source,yaml,subs="attributes+"]
----
apiVersion: v1
kind: Namespace
metadata:
name: {CNVNamespace}
---
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: kubevirt-hyperconverged-group
namespace: {CNVNamespace}
spec: {}
---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: hco-operatorhub
namespace: {CNVNamespace}
spec:
source: {CNVSubscriptionSpecSource}
sourceNamespace: openshift-marketplace
name: {CNVSubscriptionSpecName}
startingCSV: kubevirt-hyperconverged-operator.v{HCOVersion}
channel: "stable" <1>
----
<1> Using the `stable` channel ensures that you install the version of
{VirtProductName} that is compatible with your {product-title} version.
endif::openshift-origin[]
. Create the required `Namespace`, `OperatorGroup`, and `Subscription` objects
for {VirtProductName} by running the following command:
+
[source,terminal]
----
$ oc apply -f <filename>.yaml
----
.Verification
You must verify that the subscription creation was successful before you can proceed with installing {VirtProductName}.
. Check that the `ClusterServiceVersion` (CSV) object was created successfully. Run the following command and verify the output:
+
[source,terminal,subs="attributes+"]
----
$ oc get csv -n {CNVNamespace}
----
+
If the CSV was created successfully, the output shows an entry that contains a `NAME` value of `kubevirt-hyperconverged-operator-*`, a `DISPLAY` value of `{VirtProductName}`, and a `PHASE` value of `Succeeded`, as shown in the following example output:
+
*Example output*
+
[source,terminal,subs="attributes+"]
----
NAME DISPLAY VERSION REPLACES PHASE
kubevirt-hyperconverged-operator.v{HCOVersion} {VirtProductName} {HCOVersion} kubevirt-hyperconverged-operator.v{HCOVersionPrev} Succeeded
----
. Check that the `HyperConverged` custom resource (CR) has the correct version. Run the following command and verify the output:
+
[source,terminal,subs="attributes+"]
----
$ oc get hco -n {CNVNamespace} kubevirt-hyperconverged -o json | jq .status.versions
----
+
*Example output*
+
[source,terminal,subs="attributes+"]
----
{
"name": "operator",
"version": "{HCOVersion}"
}
----
. Verify the `HyperConverged` CR conditions. Run the following command and check the output:
+
[source,terminal,subs="attributes+"]
----
$ oc get hco kubevirt-hyperconverged -n {CNVNamespace} -o json | jq -r '.status.conditions[] | {type,status}'
----
+
*Example output*
+
[source,terminal]
----
{
"type": "ReconcileComplete",
"status": "True"
}
{
"type": "Available",
"status": "True"
}
{
"type": "Progressing",
"status": "False"
}
{
"type": "Degraded",
"status": "False"
}
{
"type": "Upgradeable",
"status": "True"
}
----