
Welcome
Quick overview on HELM package manager
Helm role in Kubernetes cluster
Benefits of using Helm
Advantages of templatizing the Kubernetes deployment and manifest file
Complete lifecycle involving Charts, Package manager, Repositories, Cluster, etc.,
Reason for templating Kubernetes manifest file
Having different values file and applying against the template
Introduction to GO template language
Introduction to various components like Charts, Helm Client, Repositories, Release
Role and relation between Charts, Repositories, and Release
Purpose of repositories and how charts will be stored in it
Difference between Helm Version 2 and Version 3
Interaction with Kubernetes cluster difference with and without Tiller service
Identifying the right installation version
Downloading, extracting and installation helm client
Verifying helm installation
Introduction to Helm hub
Adding stable repo
Searching Charts within stable repo
Navigating repository
Details on repo cache
Update the repository cache
Install a Chart from stable repository
Install sample Chart
Verify installed component in Kubernetes
Uninstall the chart and clean the system
Create a sample Chart
Verify folder structure of created Chart
Quick overview on chart template
Overview on values file
Overview of other files like LICENSE, Chart.yaml, README.md, values.yaml values.schema.json
Explore installation of Minikube for use with Helm
Architecture and different ways of installing Minikube
Prerequisite and configuration of Minikube
Check Minikube status
Start Minikube using Virtualbox driver
Open Kubernetes dashboard and verify deployed components
Install Helm along with Minikube
Different Helm version - Version 2 and Version 3
Configure and check Helm installation
Create a new chart
Install created chart in Minikube
Verify installed chart in Minikube
Cleanup the charts by uninstalling
Create a simple Chart template
Verify Kubernetes cluster for configmaps
Install created helm configmap Chart
Verify config map in Kubernetes cluster
List helm installation
Uninstall helm installation
Introduction to Go template language
Understand more on Helm built-in objects
Use sample built-in objects in the template
Install the Chart with built-in objects
Verify installed chart using helm get manifest command
Introduction to reading values from values.yaml file
Introduction to dry run and advantage of doing the dry-run
Verifying the computed value after merging values with templates
Install the Chart
Verify the values from the manifest file
Setting sample values to the template at run time
Verify set value using dry-run
Install Chart using custom value with --set option
Verify the manifest file
Using functions in templates
Using template functions from sprig
Using sample functions like quote, upper, etc
Introduction to pipeline in template functions
Usage of pipeline with functions
Using pipeline with upper, quote, now and other functions
Syntax of if-else control flow
Using if-else within templates by evaluating conditions
yaml file alignment to be taken care while using if-else conditions
Removing unnecessary new lines from yaml file while using if-else conditions
Introduction to scope and need in templates
Understand restricted scope
Using the keyword 'with' to pass yaml values to template blocks
Using range for looping
Looping through a collection of key-value pairs
Verify looping with dry-run
Introduction to template variables and syntax
Assign built-in object in a variable and access in the block
Assigning iterating item to a variable in range looping
Purpose and advantage of splitting content into sub-templates
Creating sub-template and including it for reusability
Using the keyword 'template' and include the content
The behavior of variable scope in the template include
Verify scope using template include and built-in objects
Passing the scope using '.' and '$'
Another way of including a template using the keyword 'include'
yaml indentation advantage while using 'include' keyword
Using the keyword 'indent' for yaml alignment
Creating and using Notes with Charts
Using template go language with Notes file
Verify notes after installing the Chart
Purpose of Sub-Chart
Create a Sub-Chart
Effect of computed values and applying values with Sub-Charts
Values scope while using Sub-Chart
Using global in Sub-Charts
Values scope with global
Accessing global variable value in Sub-Chart
Introduction to repositories
Role and its scope in the workflow of Charts and its deployment to Kubernetes cluster
Different hosting options
Different ways of setting up Repository
index.yaml file structure
Repository storage folder structure
Functions of repository
Introduction to Chartmuseum
ChartMuseum Introduction
Downloading and installing ChartMuseum
Verify ChartMuseum installation
Setting up storage and starting Chartmuseum
Verify repo list
Add ChartMuseum repo to cache
List charts from all repository
Search Chart from specific repository
Verify Charts in ChartMuseum repository
Create a sample chart and add to the repository
Package the Chart using 'Package' command
Add the package to the repository using the curl command
Update the repository cache
Verify Chart list in the repository
Difference between Chart and Application Version
Changing Chart version in Chart.yaml file
Introduction to Semantic Versioning from semver.org
Create an additional version of Chart
Add next version of a package to the repository
Search for all version of Charts
Create multiple Charts
Package the Chart and add it to the storage location directly
Update and search for Charts
Introduction to Plugins
Details on helm push plugin
Install helm push plugin
List plugins in the current installation
Push the Chart to ChartMuseum repository using helm push plugin
Update and verify the Charts in the repository
Create a new repository in Github
Generate access token
Add and Commit the files to the Github repository
Package the charts and generate index.yaml file
Add the package and index.yaml file to the github repository
Get raw link from github repository
Add the GitHub hosted repo using username, accesstoken and raw url
List the repo and verify
Package more charts and commit to GitHub to verify versions
Cleanup access tokens
Create a Chart and deploy to the Kubernetes cluster
Verify the replication count of Pods in Kubernetes cluster
Update Chart version in Charts.yaml file
Update Values file with different replication count
Update the chart repos
Upgrade the installation
List the helm installation
Verify upgrade using the number of pods deployed to the Kubernetes cluster
Create multiple versions of helm deployment
List helm deployments
Rollback to the previous version of the deployment
Verify rollback with deployed components in Kubernetes cluster
Need and advantage of using helm dependency
Creating dependency using Chart.yaml file
Build dependency using 'build' command
Update dependency using 'update' command
Introduction to Chart Hooks
Various types of Hooks
Creating Preinstall and Postinstall Hook
Installing chart to very Hook functionality
Verify Hook Pods with Started and Finished time
Use Kubernetes jobs as Hooks
Install Job as Hooks for Preinstall and Postinstall Hooks
Verify executed jobs and Hooks with Started and Finished time
Cleanup up the system by deleting the Charts, Jobs and Pods
Purpose of using Weight in Hooks
Creating three preinstall hooks with different weight
Install the chart and verify Hook executing by comparing Started and Finished time
Cleanup the system by deleting the Charts, Jobs and Pods
Using helm lint tools
Validate templates using lint command
Identify the error in templates and correct them
Introduction to Helm Hook
Introduction to Test Hook in Helm
Overview and navigate test templates
Run test against the deployment and verify the result
Get status of deployment
Get values, manifest, Notes and Hooks of deployment
Get current status, revision and deployment status using 'status' command
Introduction and need for provenance and Integrity of package
Introduction to gpg key generation
Verify the generated keys and secring.gpg files
List generated keys
Package using the generated key and keyring
Details .prov file
Verify Chart Hash
Overview of container orchestration
Advantage and need for container orchestration
orchestration within master-worker architecture
Different components of Kubernetes introduction
Introduction to Pods
Master worker architecture of Kubernetes cluster
Different controllers for node, replication, etc.,
Introduction to container runtime and kubelet
Kube Scheduler role and introduction
Introduction to API-Server
etcd database and its role
Introduction to YAML file and its syntax
Different members of yaml file
Adding maps, keys, values to yaml file
Handling maps of maps, maps of list, lists of lists, lists of maps
Using template and selector in Kubernetes yaml file
Introduction to different core components
The relation between the control plane and run time components
Introduction to apiserver, controller manager, scheduler, etcd, kubelet, Kube-proxy, and container runtime
Understand various component with an analogy
Verify various component in Kube-system namespace
Different types of installation overview
Compare Minikube installation with a fully distributed cluster installation
Download and installation of Minikube in windows
Setting required environmental variables
Installing and configure kubectl executable
Verify and test Minikube
Check the status fo Minikube
Create sample deployment to test the installation
Get the list of pods and verify
Verify Minikube web UI and verify
Setup AWS EC2 instance with earlier defined AMI
Login to EC2 Instance
Create users and groups for docker
Install docker
Start docker service
Download and install Minikube
Start Minikube
Install Kubectl
Verify Kubectl and Minikube installation
Start Kubectl proxy to access Web Dashboard
Verify the status of Kubernetes environment
Run a sample pod with Nginx image
Check the status of the pod
Describe the pod to get more details on the pod
Delete the pod
Create sample yaml file with Nginx image
Kubernetes API doc overview on yaml elements
Create pod by applying the yaml file
Describe and verify the pod IP and port details
Map port between container and Host
Configure address forward using port-forward
Access using curl and verify port forward configuration
Opening bash shell using exec command
Copy files between containers and host
Introduction to Replicaset
Configure replicas in yaml file
Details on Selector, label matching and template
Create replicaset and verify the pod count
Delete a pod and verify the number of pods at desired, current and ready state
Introduction to deployments in Kubernetes environment
Create yaml file with deployment as kind
Details on replicas, selector and template in deployments
Verify selector in deployment describe command
Introduction and purpose of service in Kubernetes environment
Port configuration with nodePort, port, protocol and targetPort in service
Create service with node port
Access Nginx service from the browser using node port
Purpose of label and selector in yaml file
Create guestbook sample application
Overview of label selector with the sample application
List the labels of the pod with -L option
Use --selector to list the pods
Use --show-labels to display pod labels
Select multiple labels using 'in' --selector
Using different operator like ! for not
Introduction to Volumes in containers
Attaching volumeMounts to Pod containers
Introduction to emptyDir volume
Check the mount path in container description
Check volume mapping to host machine
Create folder and files in mapped location in host machine and verify
List of volumes under cache-volume for pods
Introduction to Config maps.
Purpose and its use of config maps
Creating sample config maps with multiple keys
Create pod by using the config maps
Verify how config maps used in pods by checking the logs
Introduction to secrets
Use and purpose of secrets in config maps
Verify created secret
Introduction to Namespace
Use and purpose of Namespace
Create new namespace
Create new pods in new namespace
List various entity in new namespace
Create pods, deployments, service and various entity in new namespace
Delete and clean namespace and all entities
Presentation used in the course
You will learn all the required topics as given below for HELM - The Package Manager for Kubernetes.
Helm package manager installation and configuration
Charts and Hooks
Custom Helm chart development
Create and work with Helm chart repositories
Helm architecture and interaction with Kubernetes RBAC
Helm Provenance and Integrity
Search and find charts from Helm hub and repo
Understanding chart structure and customizing charts
Deploy and test charts
Chart Built-in objects
Chart Value files
Chart template functions and pipelines
Chart variables and flow control
Named templates and inner templates
Debugging templates
Chart Dependency Management
ChartMuseum installation and configuration
Minikube installation and configuration to use with HELM
Additionally, you will learn how to search and find charts from Helm Hub and repositories, understand chart structure, and customize charts to suit different environments. We will walk through deploying and testing charts, utilizing built-in objects, value files, and template functions and pipelines.
The course will also focus on chart variables, flow control, named templates, and inner templates, along with techniques for debugging templates effectively. You will also learn chart dependency management, a key skill for managing complex applications.
To support hands-on learning, you will be guided through the installation and configuration of ChartMuseum, a Helm chart repository server, and Minikube, a local Kubernetes cluster setup for practicing with HELM.