
Explore how Helm packages Kubernetes applications into a single application, simplifying manifests, releases, and lifecycle management, and scale from simple apps to enterprise deployments.
Discover Helm, the Kubernetes package manager, as a captain guiding deployments and packages, addressing major pain points and simplifying the management of applications.
Explore the helm core architecture and components, showing how helm initializes communication with the Kubernetes API, stores local configuration, and executes install, upgrade, and remove operations.
Explore Helm's three main concepts—charts, repositories, and releases—and see how charts package app definitions, how repositories share them, and how releases run charts as containers.
Explore Helm architecture and how to use charts to deploy and manage services such as WordPress and MySQL, using available or custom charts, and execute install, upgrade, and packaging.
helm init: Install Tiller to your running Kubernetes cluster.
helm search: Search for charts
helm fetch: Download a chart to your local directory to view
helm install: Upload the chart to Kubernetes
helm list: List releases of charts
PRE-REQUISITES:
- You already have a Google Account and have access to Google Cloud Console (https://console.cloud.google.com)
- Billing account enabled that can be use in this project
Step 1: Create a Google Cloud Project OR select and existing Project
Step 2: Create a Kubernetes Cluster (select Kubernetes Engine menu item from the left side navigation -> Create Cluster -> Choose default settings)
Remember to delete the cluster after use. There is a free 300$ credit provided by Google Cloud for new users.
COMMANDS TO RUN DURING SETUP
helm init
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
Demo 1: STABLE HELM CHART
helm search redis
helm fetch --untar stable/redis
tree helm inspect stable/redis (sudo apt update && sudo apt install tree -y, if you do not have tree package)
helm inspect stable/redis
helm inspect values stable/redis
Install helm charts with a dry run and debug arguments, set a release name and secret password, disable persistence, and deploy a local or getup chart while verifying resources.
Define and manage chart dependencies in a Helm package. Link one chart to multiple dependent charts via a requirements file and auto-download all specified charts.
Explore chart templates in Helm, define configurable values with safe defaults, and render templates by mapping values into manifest files like services and deployments.
helm upgrade --install — this is helpful especially when running the command in pipelines,
helm install/upgrade --debug — this allows you to see what happened in case of an install or upgrade.
helm install/upgrade --set name=sandbox — You have the possibility to overwrite values to an installation/upgrade by using the set flag.
Demo 3: CUSTOM CHARTS
• git clone https://github.com/CloudAndContainer/helmdemo.git
• Edit values.yaml and update the index values
• helm lint ./helmdemo
• helm install --name helmdemo ./helmdemo
• kubectl get svc
• kubectl get pods
• kubectl exec -it [YOUR_POD_NAME] sh
• curl [CLUSTER_IP]:80 (apt-get update && apt-get install curl -y, if curl is not installed)
Demo 3: CUSTOM CHARTS (cont’d..) – helm upgrade
• Edit values.yaml and update the index values
• helm upgrade helmDemo ./helmDemo
• helm rollback helmDemo 1
• helm package ./helmDemo
• kubectl get svc
• kubectl get pods
• kubectl exec -it [YOUR_POD_NAME] sh
• curl [CLUSTER_IP]:80 (apt-get update && apt-get install curl -y, if curl is not installed)
Explore how Helm creates charts from a local or stable remote repository, customizes configurations, and uses install or upgrade to deploy properly configured releases.
Host stable and custom helm charts, then store them as artifacts via Google cloud storage, open source tools, or pages; YouTube serves as a source code repository for storage.
Learn how to host Helm charts using a demo project for hosting, create an index.yaml to enable retrieval and verification of packages, and push or search charts in a repository.
Explore creating and installing custom charts with helm to deploy a front end and two back ends, configure deployments and services, and enable load balancing with values and templates.
Demonstrate deploying with and without helm through a side-by-side comparison of a multi-service web app. Deploy the guestbook app using kubectl and helm templates.
Explore Helm package manager operations by learning how to read charts from scratch, package charts into archives, interact with repositories, and install, delete, upgrade, and rollback charts.
Address common helm release failures by ensuring the current release succeeds before upgrading or installing, and use helm upgrade --install; see the official GitHub link for details.
Review how to create or reuse Helm charts, manage dependencies and templates, craft manifests, and deploy releases via the communities API with remote procedure calls.
Welcome to Helm – The Kubernetes Package Manager Course. The course focuses on detailing the use of Helm to manage the Kubernetes deployments. You will learn on how to use the custom charts, reuse the available charts and much more. There are 2 main sections on how to use the stable charts and on how to make custom charts.
The ideal student for this course would be DevOps engineers or software developers or sysadmins or anyone who are dealing with Kubernetes projects or have an understanding about Kubernetes and would like to apply the deployment best practices using Helm and to understand more about Helm.
Pre-requisites:
- You already have a Google Account and have access to Google Cloud Console
- Billing account enabled that can be use in this project
Step 1: Create a Google Cloud Project OR select and existing Project
Step 2: Create a Kubernetes Cluster (select Kubernetes Engine menu item from the left side navigation -> Create Cluster -> Choose default settings)
Remember to delete the cluster after use. There is a free 300$ credit provided by Google Cloud for new users.