Lab 1.2 — Install Platform Operators
Install the operators the coding-agent platform needs, from Kustomize in this repo — not by clicking OperatorHub. Reproducible, auditable, GitOps-friendly.
Trigger the apply and move on. Lab 1.3 waits for them before it publishes Qwen3.8.
|
Estimated time: 5 minutes active + ~20 minutes background installation |
What Gets Installed
Two groups, one oc apply. You do not configure any of these by hand — Lab 1.3 turns them on.
| Group | Operators |
|---|---|
Serve the model |
OpenShift AI (KServe + MaaS + dashboard), NVIDIA GPU Operator, Node Feature Discovery, Leader Worker Set, cert-manager, Red Hat Connectivity Link (API keys and token quotas) |
Ship the app |
Dev Spaces (cloud IDE), OpenShift GitOps (Argo CD), OpenShift Pipelines (Tekton) |
|
Developers deploy their own Argo CD instance inside their project namespace — they never touch |
Step 1: Install All Operators
All operator manifests are in the workshop repo you cloned in Act 0. From that directory:
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
subscription.operators.coreos.com/cert-manager created
subscription.operators.coreos.com/leader-worker-set created
subscription.operators.coreos.com/rhcl-operator created
The first apply may report that Task CRDs are not found yet. That is expected — OpenShift Pipelines has not finished installing. Re-run the same command after the operators are Succeeded (start of Lab 1.3); the bundled git-clone and buildah tasks will then apply.
Step 2: Start Background Health Checks
Kick off watches for the operators in the background, then move on immediately. oc wait exits immediately if the Deployment does not exist yet — wait for OLM to create it first:
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)" \
"cert-manager:cert-manager:cert-manager" \
"openshift-lws-operator:openshift-lws-operator:LeaderWorkerSet" \
"kuadrant-system:kuadrant-operator-controller-manager:Connectivity Link"; do
IFS=: read ns dep label <<< "$check"
(
until oc get deployment/${dep} -n ${ns} >/dev/null 2>&1; do sleep 5; done
oc wait deployment/${dep} -n ${ns} \
--for=condition=Available --timeout=600s &&
echo " ✅ ${label} ready"
) &
done
echo "All operator checks running in background — move on to Lab 1.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 Kubernetes types you will use next: LLMInferenceService, MaaSModelRef, CheCluster, ClusterPolicy, Kuadrant.
➡️ Move immediately to Lab 1.3: Publish Qwen3.8 as a Service while operators install in the background.