Homework
Complete these tasks before Lesson 02. They reinforce the concepts from this lesson and prepare you for building your own charts.
Task 1: Raw Manifests vs Helm — Side-by-Side Comparison
Goal: Experience the difference between deploying with raw kubectl apply and deploying with Helm.
Instructions
- Create a directory called
raw-nginx/and write three YAML manifests by hand:deployment.yaml— an NGINX Deployment with 1 replicaservice.yaml— a ClusterIP Service targeting port 80configmap.yaml— a ConfigMap with a customindex.htmlcontaining "Hello from raw kubectl!"
- Deploy with:
kubectl apply -f raw-nginx/ - Verify it works:
kubectl port-forward svc/raw-nginx 8081:80and open http://localhost:8081 - Now deploy the same NGINX via Helm:
helm install helm-nginx bitnami/nginx --set service.type=ClusterIP - Write a short comparison (100–200 words) covering:
- How many commands and files each approach required
- What happens if you need to change the replica count in each approach
- How you would roll back each approach
- Clean up both deployments:
kubectl delete -f raw-nginx/ helm uninstall helm-nginx
Self-check
- ✓ You created and deployed three raw YAML manifests successfully.
- ✓ You deployed the same app via Helm with a single command.
- ✓ Your comparison addresses all three points (files/commands, updates, rollbacks).
Task 2: Explore Artifact Hub
Goal: Learn to evaluate and discover community charts on Artifact Hub.
Instructions
Visit artifacthub.io and find 5 Helm charts for different use cases. For each chart, document:
- Chart name and publisher
- What the chart deploys (one sentence)
- Current chart version and app version
- Whether the publisher is verified
- Number of stars (approximate)
Deliverable
A table in this format:
| Chart | Publisher | Purpose | Chart Version | Verified? |
|---|---|---|---|---|
| nginx | Bitnami | NGINX web server | 18.x.x | Yes |
| ... | ... | ... | ... | ... |
Suggestion
Try to pick charts from different categories: a database (e.g., PostgreSQL), a monitoring tool (e.g., Prometheus), a CI/CD tool (e.g., Argo CD), a message broker (e.g., RabbitMQ), and an ingress controller (e.g., ingress-nginx).
Self-check
- ✓ You have 5 distinct charts from at least 3 different categories.
- ✓ Each entry includes all five requested fields.
- ✓ At least one chart is from a non-Bitnami publisher.
Task 3: Upgrade and Rollback Cycle
Goal: Practice the Helm release lifecycle — install, upgrade, rollback, and history inspection.
Instructions
- Install NGINX with 1 replica:
helm install cycle-nginx bitnami/nginx \ --set service.type=ClusterIP \ --set replicaCount=1 - Verify the deployment has 1 pod:
kubectl get pods -l app.kubernetes.io/instance=cycle-nginx - Upgrade to 3 replicas:
helm upgrade cycle-nginx bitnami/nginx \ --set service.type=ClusterIP \ --set replicaCount=3 - Verify 3 pods are running:
kubectl get pods -l app.kubernetes.io/instance=cycle-nginx - View the release history:
helm history cycle-nginx - Roll back to revision 1 (1 replica):
helm rollback cycle-nginx 1 - Verify the rollback — should be back to 1 pod:
kubectl get pods -l app.kubernetes.io/instance=cycle-nginx helm history cycle-nginx - Clean up:
helm uninstall cycle-nginx
Questions to Answer
- After the rollback, how many revisions does
helm historyshow? Why? - What is the status of revision 2 after the rollback?
- If you ran
helm rollback cycle-nginx 2after step 7, what would happen?
Self-check
- ✓ You completed the full install → upgrade → rollback cycle.
- ✓
helm historyshows 3 revisions after the rollback (install, upgrade, rollback). - ✓ You can explain that a rollback creates a new revision rather than deleting old ones.
Grading Criteria
| Criterion | Excellent | Satisfactory | Needs Work |
|---|---|---|---|
| Task 1: Comparison | All 3 raw manifests work, Helm deploy works, comparison is detailed and accurate | Deploys work but comparison is thin or missing one point | One or more deploys fail, or comparison is missing |
| Task 2: Artifact Hub | 5 charts from 3+ categories, all fields complete, includes non-Bitnami chart | 5 charts documented but from fewer categories or missing a field | Fewer than 5 charts or mostly incomplete entries |
| Task 3: Upgrade/Rollback | Full cycle completed, all 3 questions answered correctly | Cycle completed but questions partially answered | Cycle incomplete or questions unanswered |
Submission
There is no formal submission for this course. These tasks are for your own development. However:
- Keep your Task 1 comparison — it will be a useful reference as you learn more about Helm.
- Save your Task 2 table — you will install some of these charts in later lessons.
- Ensure Task 3 is complete before Lesson 02, as the next lesson builds on the install/upgrade/rollback workflow.
Next lesson: Lesson 02 — building your first Helm chart from scratch, exploring the template language and chart structure in depth.