Workshop Instructor Guide
This page is for the instructor who runs a delivery of the workshop.
What the Workshop Covers
Attendees should know the basics of Kubernetes (pods, services, deployments and namespaces), be able to read YAML, and have used the oc command line.
Each workshop’s start page lists its own prerequisites and what attendees can do afterwards.
| Workshop | Covers | Time |
|---|---|---|
The Helm CLI, chart file structure and templating, and storing and distributing charts as files or OCI artifacts. Four modules. |
||
Pod scheduling and priority, node affinity, taints and topology spread, descheduling, horizontal and vertical pod autoscaling, and image distribution. Four modules. |
||
Sidecar injection and mutual TLS, Gateways and VirtualServices, DestinationRules, request authentication and authorization policies, and observability, on OpenShift Service Mesh 3.4. Four modules. |
||
PromQL selectors, aggregation and advanced query patterns, alerting and recording rules with user workload monitoring, and Grafana dashboards. Six modules. |
Environment and Requirements
Each workshop lists the cluster components, Operators, command-line tools, roles and access it needs on its own page. Prepare everything for the workshops you deliver:
-
Advanced Deployment Workshop, including the read-only attendee RBAC in
workshops/deploy/provisioning/attendee-rbac.yamlin the workshop repository -
Istio Service Mesh Workshop, including the Service Mesh versions and control plane revision the pages show
Shared by all the workshops: attendees who don’t want to install the command-line tools run the workshop CLI tools image on the cluster, as Shared CLI tools describes. Make sure attendees can pull that image, or mirror it for a disconnected cluster.
Downloads has every file of the release: the PDF, the Helm chart, the list of images to mirror and the guide for running the workshop in a disconnected cluster. Deploy the Workshop shows how to deploy them.
Deploy the Workshop
A release has everything needed to run the workshop: the site image, the tools image and a Helm chart that deploys both. Get the files from Downloads. On a cluster that can reach ghcr.io, you need only the chart; on a disconnected cluster, you also mirror the images first.
| Part | What it runs |
|---|---|
|
This site, served over HTTP on port 8080. |
|
A pod with the command-line tools the exercises use, as Shared CLI tools describes. |
|
The Helm chart: a Deployment, Service and Route for the site, and a Deployment for the tools pod. |
You need oc and helm on your workstation, and a user who can create a project.
The tools image has both, if you’d rather run the steps from a pod.
Deploy on a Connected Cluster
-
Download
openshift-102-workshop-1.0.14.tgzfrom Downloads. -
Create a project for the workshop:
oc new-project workshop -
Install the chart into it:
helm upgrade --install workshop \ ./openshift-102-workshop-1.0.14.tgz \ --namespace workshop -
Print the site’s address and open it in a browser:
oc get route workshop-openshift-102-workshop \ --namespace workshop \ --output jsonpath='{.spec.host}{"\n"}'
The chart’s notes, printed after the install, repeat these steps.
To leave out the tools pod, add --set tools.enabled=false to the install.
Deploy on a Disconnected Cluster
-
Download
openshift-102-workshop-1.0.14.tgz,images-mirror.txtandDISCONNECTED.mdfrom Downloads on a host that can reach both ghcr.io and your registry. -
Set the registry and path to mirror to, replacing the example with your own:
REGISTRY=registry.example.com/workshop -
Mirror the site image:
oc image mirror \ ghcr.io/shpwrck/openshift-102-workshop:v1.0.14 \ $REGISTRY/openshift-102-workshop:v1.0.14 -
Mirror the tools image the same way:
oc image mirror \ ghcr.io/shpwrck/openshift-102-workshop-tools:v1.0.14 \ $REGISTRY/openshift-102-workshop-tools:v1.0.14 -
Mirror the images the exercises pull, which each workshop’s setup requirements list.
-
Create a project for the workshop:
oc new-project workshop -
Install the chart, pointing it at the mirrored images, from a host that can reach the cluster and has the chart and
REGISTRYset:helm upgrade --install workshop \ ./openshift-102-workshop-1.0.14.tgz \ --namespace workshop \ --set image.repository=$REGISTRY/openshift-102-workshop \ --set tools.image.repository=$REGISTRY/openshift-102-workshop-tools -
Print the site’s address and open it in a browser:
oc get route workshop-openshift-102-workshop \ --namespace workshop \ --output jsonpath='{.spec.host}{"\n"}'
DISCONNECTED.md has the same steps for reading offline.
Deploy Without Helm
-
The site: the offline bundle on the release page has the built site in
www/. Any web server can serve that folder as it is. -
The tools pod: import
tools-deployment.yamlfrom Downloads in the web console, as Shared CLI tools describes.
Before the Day
-
Prepare the environment from the setup requirements above, for every attendee.
-
Deploy the workshop, as Deploy the Workshop describes.
-
Run the workshop end to end once on an environment built the same way.
-
Send attendees the Workshop Attendee Guide page so they can check their workstation.
Delivery Notes
-
Some steps wait for the cluster: the autoscaling exercises in Module 3 of the Advanced Deployment Workshop take a few minutes before the HPA and VPA respond, and so does the outlier ejection in Module 3 of the Istio Service Mesh Workshop.
-
The CLI tools pod has no container engine, so in Module 4 of the Helm Workshop attendees who use it push charts to a registry the pod can reach instead of a local one.