Helm Practice Questions
Question 1 – MinIO Helm Install
Task: Install MinIO on namespace storage with credentials and 10Gi storage.
Steps:
- Add Bitnami repo:
https://charts.bitnami.com/bitnami - Create namespace
storage - Install chart
bitnami/minioas releaseminio-app
Value keys to override:
| Key | Value |
|---|---|
auth.rootUser | minioadmin |
auth.rootPassword | miniosecret |
persistence.enabled | true |
persistence.size | 10Gi |
Question 2 – PostgreSQL Helm Install
Task: Install PostgreSQL on namespace databases with user appuser, password apppass, database appdb, and 5Gi storage.
Steps:
- Add Bitnami repo:
https://charts.bitnami.com/bitnami - Create namespace
databases - Install chart
bitnami/postgresqlas releasepg-app
Value keys to override:
| Key | Value |
|---|---|
auth.username | appuser |
auth.password | apppass |
auth.database | appdb |
primary.persistence.size | 5Gi |
Question 3 – Redis Helm Upgrade
Task: Upgrade existing redis-app release to enable authentication with password redispass and increase storage to 8Gi.
Steps:
- Assume
redis-appis already installed in namespacedatabasesfrombitnami/redis - Use
helm upgradeto update the release - Make sure authentication is enabled
Value keys to change:
| Key | Value |
|---|---|
auth.enabled | true |
auth.password | redispass |
primary.persistence.size | 8Gi |
Question 4 – Create and Use a Simple Helm Chart
Task: Create a Helm chart named simple-app, install to namespace demo with 2 replicas, image tag 1.0.0, then upgrade to tag 1.1.0.
Steps:
- Create new chart using
helm create - Create namespace
demo - Install the chart as release
simple-release - Then upgrade the release to new image tag
Value keys to set:
| Key | Value |
|---|---|
replicaCount | 2 |
image.repository | myorg/simple-app |
image.tag | 1.0.0 → upgrade to 1.1.0 |
service.port | 8080 |
Question 5 – Multi-Environment Helm Deployment
Task: Deploy MinIO Operator v4.3.7 to three environments (dev, staging, prod) with different replica counts and tenant configurations.
Steps:
- Add MinIO Operator repo:
https://operator.min.io - Create three namespaces:
minio-dev,minio-staging,minio-prod - Install same chart to each namespace with different configurations
Environment-specific values:
| Environment | operator.replicaCount | tenants[0].pools[0].servers |
|---|---|---|
| Dev | 1 | 1 |
| Staging | 2 | 2 |
| Prod | 3 | 4 |
Also set for all environments:
tenants[0].secrets.accessKeytenants[0].secrets.secretKey
Question 6 – Helm Search and Show Commands
Task: Search for Helm charts and inspect their values.
Practice:
- Search for
nginxchart in Bitnami repo - Search for all PostgreSQL versions available
- Show the values for
redischart - Show the README for
postgresqlchart - Show chart metadata for
nginx
Question 7 – Helm Template Rendering
Task: Render Helm templates locally without installing.
Practice:
- Render
nginxtemplate with 3 replicas locally - Render
postgresqltemplate and save output to a file - Render
redistemplate with custom namespace - Run
helm linton chart directory to check syntax
Question 8 – Helm Rollback
Task: Rollback a release to previous version.
Scenario: Release simple-release has been upgraded and something broke.
Practice:
- View release history of
simple-release - Rollback to previous revision
- Rollback to specific revision number
- Verify current values after rollback
Question 9 – Helm Uninstall and Cleanup
Task: Uninstall releases and clean up resources.
Practice:
- Uninstall
minio-appfrom namespacestorage - Uninstall
pg-appbut keep release history - List all releases including uninstalled ones
- Delete the namespace
Question 10 – Helm Repository Management
Task: Manage Helm repositories.
Practice:
- Add Bitnami repo
- Add MinIO Operator repo
- Add Stable repo
- List all repos
- Update repos to get latest versions
- Search in specific repo
- Remove a repo
Question 11 – Helm Get Commands
Task: Retrieve information about installed releases.
Scenario: Get details about installed releases
Practice:
- Get current values of
minio-apprelease - Get all Kubernetes manifests created by
pg-app - Get hooks from
pg-app(if any) - Get release notes from
simple-release - Get all information about a release
Question 12 – Multi-Value Files Deployment
Task: Deploy using multiple values files with layering.
Scenario: Base values + environment-specific overrides
Practice:
- Create
values.yamlwith base configuration - Create
values-dev.yamlwith dev overrides - Create
values-prod.yamlwith prod overrides - Install chart using multiple
--valuesfiles (base + prod) - Understand value precedence (later files override earlier ones)