Lab 1.2 — Install Platform Operators
In this lab, you will install all six platform operators your workshop infrastructure needs using local Kustomize manifests bundled with the workshop repository.
Declaring operator subscriptions as Kustomize manifests — rather than clicking through OperatorHub — is how a Platform Engineer manages operator lifecycle at scale: reproducible, auditable, and GitOps-friendly.
|
Estimated time: 5 minutes active + ~20 minutes background installation |
What Gets Installed
| Operator | Purpose |
|---|---|
Red Hat OpenShift AI (RHOAI) |
Manages AI/ML workloads; provides KServe for LLM serving. |
NVIDIA GPU Operator |
Installs NVIDIA drivers, container toolkit, and device plugin on GPU nodes. |
Node Feature Discovery (NFD) |
Labels nodes with hardware features ( |
Red Hat OpenShift Dev Spaces |
Manages developer workspaces (cloud IDEs). |
OpenShift GitOps (Argo CD) |
Installs the operator so developers can create their own Argo CD instance per project. |
OpenShift Pipelines (Tekton) |
Container image build engine — each developer runs Tekton pipelines in their own namespace. |
|
Developers deploy their own Argo CD instance inside their project namespace — they never touch |
Step 1: Install All Operators
All operator manifests are bundled locally in the workshop repository. Apply them in a single command:
oc apply -k deploy/operators
namespace/openshift-nfd created
namespace/nvidia-gpu-operator created
namespace/redhat-ods-operator created
namespace/openshift-gitops-operator created
operatorgroup.operators.coreos.com/openshift-nfd created
operatorgroup.operators.coreos.com/nvidia-gpu-operator created
operatorgroup.operators.coreos.com/rhods-operator created
operatorgroup.operators.coreos.com/openshift-gitops-operator created
subscription.operators.coreos.com/devspaces created
subscription.operators.coreos.com/nfd created
subscription.operators.coreos.com/gpu-operator-certified created
subscription.operators.coreos.com/rhods-operator created
subscription.operators.coreos.com/openshift-gitops-operator created
subscription.operators.coreos.com/openshift-pipelines-operator-rh created
Step 2: Start Background Health Checks
Kick off watches for all six operators in the background, then move on immediately:
for check in \
"openshift-operators:devspaces-operator:Dev Spaces" \
"openshift-nfd:nfd-controller-manager:NFD" \
"nvidia-gpu-operator:gpu-operator:GPU Operator" \
"redhat-ods-operator:rhods-operator:OpenShift AI" \
"openshift-gitops:openshift-gitops-server:GitOps (Argo CD)" \
"openshift-pipelines:tekton-pipelines-controller:Pipelines (Tekton)"; do
IFS=: read ns dep label <<< "$check"
(
oc wait deployment/${dep} -n ${ns} \
--for=condition=Available --timeout=600s 2>/dev/null &&
echo " ✅ ${label} ready"
) &
done
echo "All operator checks running in background — move on to Lab 3."
What is Happening Under the Hood
OLM (Operator Lifecycle Manager) resolves each Subscription against the operator registry, generates an InstallPlan, installs CRDs and RBAC, then deploys the operator pod:
Subscription → InstallPlan → CRDs → RBAC → Operator Pod → Succeeded
Each operator registers new Kubernetes resource types you will use in subsequent labs: InferenceService, CheCluster, ClusterPolicy, NodeFeatureDiscovery, ArgoCD, TektonConfig.
➡️ Move immediately to Lab 3: Discover OpenShift AI while operators install in the background.