<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Helm :: Tag :: Kubernetes training</title><link>https://k8s-school.fr/labs/k8s/en/tags/helm/index.html</link><description/><generator>Hugo</generator><language>en</language><copyright>Copyright (c) 2025 Fabrice Jammes - Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Wed, 10 Jun 2026 18:00:00 +1000</lastBuildDate><atom:link href="https://k8s-school.fr/labs/k8s/en/tags/helm/index.xml" rel="self" type="application/rss+xml"/><item><title>Helm chart - Quick Lab</title><link>https://k8s-school.fr/labs/k8s/en/1_labs/helm/index.html</link><pubDate>Tue, 11 Nov 2025 14:15:26 +1000</pubDate><guid>https://k8s-school.fr/labs/k8s/en/1_labs/helm/index.html</guid><description>Objective Create and deploy a Helm chart with nginx application using secure nginxinc image and resource configurations. Complete this lab in 10-15 minutes.
Prerequisites Kubernetes cluster running (minikube, kind, or cloud cluster) helm v3+ installed kubectl configured to access the cluster Setup: Create your namespace On a shared cluster, work in your own namespace to avoid colliding with other users. We name it after your numeric user id:</description></item><item><title>Helm on OpenShift: Migrating to Security Context Constraints</title><link>https://k8s-school.fr/labs/k8s/en/1_labs/helm-openshift-migration/index.html</link><pubDate>Mon, 08 Jun 2026 14:15:26 +1000</pubDate><guid>https://k8s-school.fr/labs/k8s/en/1_labs/helm-openshift-migration/index.html</guid><description>Objective A Helm chart that works perfectly on vanilla Kubernetes often fails on OpenShift. In this guided lab you’ll deploy a generic nginx Helm chart step by step — from its default values (which fail) to an OpenShift-compatible configuration (which succeeds) — diagnosing each failure along the way with oc/kubectl.
You’ll learn:
Why OpenShift’s Security Context Constraints (SCC) prevent containers from running as root How OpenShift assigns a non-root UID per namespace, and why that breaks images that assume root How to adapt a chart (here, the official nginx image) to run under restricted-v2 Complete this lab in 20-30 minutes.</description></item><item><title>OpenShift Airgapped: Mirroring Container Images</title><link>https://k8s-school.fr/labs/k8s/en/1_labs/openshift-airgapped-image-mirroring/index.html</link><pubDate>Mon, 08 Jun 2026 14:15:26 +1000</pubDate><guid>https://k8s-school.fr/labs/k8s/en/1_labs/openshift-airgapped-image-mirroring/index.html</guid><description>Author: Fabrice JAMMES (LinkedIn). Duration: 25-35 minutes
Objective Clusters running in restricted networks (“airgapped”) cannot pull images directly from the internet (i.e. docker.io). You must mirror the images you need into a registry the cluster can reach, and then make the cluster use that mirror.
There are two fundamentally different ways to achieve this:
A. Cluster-wide transparent redirection — configure OpenShift itself (ImageTagMirrorSet) to silently redirect every docker.io pull to your local mirror. Charts and Deployments stay untouched. B. Explicit reference — point each chart/Deployment directly at the mirror registry (image.registry=...). No cluster-level redirection is configured. In this guided lab you’ll deploy the same nginx chart both ways, observe how the resulting Pods differ, and weigh the trade-offs of each approach.</description></item><item><title>OpenShift Airgapped: Declarative Mirroring with oc-mirror v2</title><link>https://k8s-school.fr/labs/k8s/en/1_labs/openshift-airgapped-oc-mirror/index.html</link><pubDate>Wed, 10 Jun 2026 18:00:00 +1000</pubDate><guid>https://k8s-school.fr/labs/k8s/en/1_labs/openshift-airgapped-oc-mirror/index.html</guid><description>Author: Fabrice JAMMES (LinkedIn). Duration: 25-35 minutes
Objective In the previous lab you mirrored a single image with skopeo copy and hand-wrote an ImageTagMirrorSet to redirect docker.io pulls to it. That works, but it doesn’t scale: every image needs its own skopeo copy, and the mirror-set YAML must be kept perfectly in sync with whatever you copied — get the library/ namespace wrong and pulls 404.</description></item></channel></rss>