About this task
The commands in this task install Red Hat
OpenShift AI with the minimum components needed to support IBM Software Hub services.
Review the following table to determine whether you need to install Red Hat
OpenShift AI based on the services that you plan to
install:
| Service |
Red Hat
OpenShift AI |
| IBM Knowledge Catalog Premium |
- Required if you run the models on GPU.
- Not required if you run the models on:
- CPU
- A remote instance of watsonx.ai
|
| IBM Knowledge Catalog Standard |
- Required if you run the models on GPU.
- Not required if you run the models on:
- CPU
- A remote instance of watsonx.ai
|
| Watson Speech services |
Required only if you want to enable enrichment.
|
| watsonx.ai |
Always required.
|
| watsonx Assistant |
Required only if you want to use features that require GPU.
|
| watsonx
BI |
Always required.
|
| watsonx Code
Assistant |
Always required.
|
| watsonx Code Assistant for Red Hat
Ansible Lightspeed |
Always required.
|
| watsonx Code Assistant for Z |
Always required.
|
| watsonx Code Assistant for Z Agentic |
Always required.
|
| watsonx Code Assistant for Z Code Explanation |
Always required.
|
| watsonx Code Assistant for Z Code Generation |
Always required.
|
|
watsonx.data Premium |
Always required.
|
|
watsonx.data intelligence |
Always required.
|
| watsonx
Orchestrate |
- Required if you run models locally.
- Not required if you use the AI gateway to access third-party models.
|
Use the following table to determine which version of Red Hat
OpenShift AI you need to install:
| Release |
Red Hat
OpenShift AI Version |
| 5.3.0 (December
2025)
|
2.25 |
Procedure
-
Log in to Red Hat
OpenShift Container Platform as a cluster
administrator.
${OC_LOGIN}
Remember:
OC_LOGIN is an alias for the oc login
command.
- Create the
redhat-ods-operator project:
oc new-project redhat-ods-operator
The command returns the following response:
namespace/redhat-ods-operator created
- Create the
rhods-operator operator group in the redhat-ods-operator project:
cat <<EOF |oc apply -f -
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
name: rhods-operator
namespace: redhat-ods-operator
EOF
The command returns the following response:
operatorgroup.operators.coreos.com/rhods-operator created
- Set the
CHANNEL_VERSION environment variable based on
the version of Red Hat
OpenShift AI that you are
installing:
Version 2.25
export CHANNEL_VERSION=stable-2.25
- Create the
rhods-operator operator subscription in the
redhat-ods-operator project:
cat <<EOF |oc apply -f -
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: rhods-operator
namespace: redhat-ods-operator
spec:
name: rhods-operator
channel: ${CHANNEL_VERSION}
source: redhat-operators
sourceNamespace: openshift-marketplace
config:
env:
- name: "DISABLE_DSC_CONFIG"
EOF
The command returns the following response:
subscription.operators.coreos.com/rhods-operator created
- Check the status of the
rhods-operator-* pod in the redhat-ods-operator project:
oc get pods -n redhat-ods-operator
Confirm that the pod is Running. The command returns a response with the
following format:
NAME READY STATUS RESTARTS AGE
rhods-operator-56c85d44c9-vtk74 1/1 Running 0 3h57m
- Create a DSC Initialization (
DSCInitialization) object named
default-dsci in the redhat-ods-monitoring
project:
cat <<EOF |oc apply -f -
apiVersion: dscinitialization.opendatahub.io/v1
kind: DSCInitialization
metadata:
name: default-dsci
spec:
applicationsNamespace: redhat-ods-applications
monitoring:
managementState: Managed
namespace: redhat-ods-monitoring
serviceMesh:
managementState: Removed
trustedCABundle:
managementState: Managed
customCABundle: ""
EOF
- Check the phase of the DSC Initialization (
DSCInitialization)
object:
oc get dscinitialization
Confirm that the object is Ready. The command returns a response with the
following format:
NAME AGE PHASE
default-dsci 4d18h Ready
- Create a Data Science Cluster (
DataScienceCluster) object named
default-dsc:
cat <<EOF |oc apply -f -
apiVersion: datasciencecluster.opendatahub.io/v1
kind: DataScienceCluster
metadata:
name: default-dsc
spec:
components:
codeflare:
managementState: Removed
dashboard:
managementState: Removed
datasciencepipelines:
managementState: Removed
kserve:
managementState: Managed
defaultDeploymentMode: RawDeployment
serving:
managementState: Removed
name: knative-serving
kueue:
managementState: Removed
modelmeshserving:
managementState: Removed
ray:
managementState: Removed
trainingoperator:
managementState: Managed
trustyai:
managementState: Removed
workbenches:
managementState: Removed
EOF
The Red Hat
OpenShift AI Operator installs and manages the
services that are listed as Managed. Services that are Removed are
not installed.
- Wait for the Data Science Cluster object to be
Ready. To
check the status of the object,
run:
oc get datasciencecluster default-dsc -o jsonpath='"{.status.phase}" {"\n"}'
- Confirm that the status of the following pods in the
redhat-ods-applications project are Running:
kserve-controller-manager-* pod
kubeflow-training-operator-* pod
odh-model-controller-* pod
oc get pods -n redhat-ods-applications
The command returns a response with the following format:
NAME READY STATUS RESTARTS AGE
kserve-controller-manager-57796d5b44-sh9n5 1/1 Running 0 4m57s
kubeflow-training-operator-7b99d5584c-rh5hb 1/1 Running 0 4m57s
- Edit the
inferenceservice-config configuration map
in the redhat-ods-applications project:
- Log in to the Red Hat
OpenShift Container Platform
web console as a cluster administrator.
- From the navigation menu, select
.
- From the Project list, select
redhat-ods-applications.
- Click the
inferenceservice-config resource. Then, open the
YAML tab.
- In the
metadata.annotations section of the file, add
opendatahub.io/managed: 'false':
metadata:
annotations:
internal.config.kubernetes.io/previousKinds: ConfigMap
internal.config.kubernetes.io/previousNames: inferenceservice-config
internal.config.kubernetes.io/previousNamespaces: opendatahub
opendatahub.io/managed: 'false'
- Find the following entry in the file:
"domainTemplate": "{{ .Name }}-{{ .Namespace }}.{{ .IngressDomain }}",
- Update the value of the
domainTemplate field to
"example.com":
"domainTemplate": "example.com",
- Click Save.
What to do next
Now that you've installed Red Hat
OpenShift AI,
you're ready to complete Installing and setting up Multicloud Object Gateway for IBM Software Hub.