
Unlock agility, simplicity, and consistency by troubleshooting helm in Kubernetes, leveraging GitOps and CI CD, and using the helm binary for deployments, upgrades, and rollbacks.
Helm is the Kubernetes package manager that uses charts to manage Kubernetes resources with automation and lifecycle management. See how updates, rollbacks, and sharing via Artifact Hub simplify deployment.
Helm uses templated charts and values.yaml to simplify managing complex Kubernetes applications. It contrasts with customize, which relies on raw YAML overlays and kubectl.
Install helm by selecting your macOS, Linux, or Windows operating system and architecture, then use binary releases or the script with a curl command to install.
Create a Helm chart named web server and learn how chart.yaml, values.yaml, and templates configure Kubernetes resources such as deployment, service, and autoscaling, with image repository and tag handling.
Define a helm chart as the Kubernetes package that bundles manifests for a single helm install, and explain charts, repositories, releases, dependencies, values.yaml, and templates.
Discover why helm charts in Kubernetes are popular and community tested, offering Artifact Hub libraries, values.yaml customization, and easy publishing for rapid prototyping.
Install a helm chart in a local environment with helm install, placing it in a namespace called web server and configuring values.yaml; address minikube issues when Kubernetes cluster is unreachable.
Discover how Kubernetes acts as a platform to orchestrate containers with a declarative approach, using operators, master and worker nodes, and YAML for workloads.
Explore key Kubernetes resources, including kubernetes.io and the CNCF landscape, to understand why Helm integrates with Kubernetes and learn Kubernetes basics via hello minikube.
Explore why we use Kubernetes: a pluggable architecture with CRDs, high availability through self-healing pods and three etcd instances, and scalable horizontal and vertical options with automated rollouts and rollbacks.
install minikube to create a local kubernetes environment for troubleshooting helm, download the linux amd64 binary, install it, verify version 1.32.0, and start with a driver.
Learn to start minikube with the Docker driver, resolve the Docker provider not found error by installing Docker or choosing an alternative, and plan setting up dependencies for each tool.
Explore what Docker is as a container runtime and its connection to a Docker registry for packaging isolated applications, in the context of Helm and Kubernetes.
Explore why Kubernetes removed docker and how container runtimes like containerd and cri-o replace it, while illustrating docker architecture for educational minikube setup.
Explore why we still use Docker as a developer-friendly binary and tool, from building to running images and inspecting layers, within a Minikube Kubernetes environment for Helm troubleshooting.
Install docker across platforms, compare docker desktop with alternatives, and configure docker on Debian with post-install steps, including adding the docker group and enabling docker and containerd for Kubernetes environments.
Test docker by pulling alpine from docker.io, running it with -it, and noting bash is unavailable; observe ephemeral containers and basic shell behavior.
Continue using helm to troubleshoot in Kubernetes, building on Docker-based dependencies, with minikube upcoming as the next step before returning to helm.
Start minikube with a Docker driver to provision a Kubernetes cluster on your Docker host, configure kubectl, and prepare for kubectl installation in the next video.
Install kubectl across Linux, macOS, and Windows with platform-specific commands, enabling minikube clusters to be configured and managed.
Install and launch open lens to gain insight into your kubernetes cluster, choosing the appropriate binary or app image for linux, mac, or windows.
Set up OpenLens on linux, connect to a minikube cluster, and explore namespaces, pods, deployments, and secrets while viewing live logs and preparing to install a helm chart.
Install the helm chart in a Kubernetes cluster by creating the web server namespace, using values.yaml overrides, and verifying the service on port 8080.
Uninstall the helm chart to practice the application lifecycle in helm, removing the release in the web server namespace and confirming revision 1 is gone.
Roll back the helm chart in the web server namespace using helm rollback with the release name and optional revision, then verify the revision increments after reinstall.
Inspect the installed helm chart to list all values and reveal the current user-supplied configuration for the web server, using helm show and helm get values.
Edit chart.yaml to add PostgreSQL as a subchart from a Bitnami OCI-compatible registry and run helm dependency update to pull PostgreSQL version 14.x.x in the web server namespace.
Edit values.yaml to increase the engine X replica count to two and observe how the web server scales, including the PostgreSQL subchart and the helm upgrade workflow.
Master helm upgrade to deploy chart revisions, override values via set commands in values.yaml, adjust replica counts in the web server deployment, and verify with kubectl for revisions.
Troubleshoot upgrading a helm chart by inspecting user-provided values, overriding replica counts, and validating restarts in a Kubernetes deployment with chart yaml and PostgreSQL and web server components.
Plan and deploy multi-stage Helm charts across dev, integration, and prod environments using dedicated values files, namespaces, and upgrade commands.
Execute a multi-stage helm setup by converting install dev to install prod, adjusting values prod for three replicas, and validating dev and prod namespaces and web server deployment.
Organize a multi-stage Helm chart by structuring environments under a stages folder, moving values files, and configuring namespace and release in install commands.
Configure and upgrade helm deployments across dev and prod stages, adjusting location and values for the prod namespace, and practice uninstall scripts to clean up resources.
Collaborate with coworkers on helm deployments by using Git version control, managing dev, staging, and prod branches, and approving changes via pull requests.
Discover how git, a distributed version control system, tracks changes to helm charts and coordinates collaboration among developers and architects by hosting a shared repository in the cloud.
Demonstrate why we use git with helm: a distributed, snapshot-based version control enabling offline work, branching, merges, rollbacks, CI/CD, and secure access for production helm charts.
Explore how to use GitHub as your git provider for helm workflows, including creating a private repository, adding a readme, and staging helm charts for different environments.
Upload your web server code to the helm staging repository on GitHub by generating an SSH key, adding the public key to your account, and pushing the changes.
Clone the helm staging repository using an SSH key, adjust the files, and commit and push the web server content into the helm chart while configuring gitignore and user details.
Create and manage feature branches in git for Helm troubleshooting, using checkout and branch commands, copying and adjusting stage scripts, updating values.yaml, and pushing with upstream tracking.
Merge branches via git by creating pull requests between base and feature branches, finalize the int stage with two replicas, and manage deployments.
Explore how to automate helm with git to improve efficiency and collaboration across teams. Learn how automation reduces manual errors, streamlines approvals, and mitigates risk through tested workflows.
Learn what Argo CD is—a Kubernetes native continuous deployment tool that syncs with git, treats git as the single source of truth, and uses application YAML to declare desired state.
Argo CD automates deployments and infrastructure state by syncing git repositories with Kubernetes, enabling real time updates, configuration drift detection, and multi-cluster rollouts with Helm backends and templating.
Configure Argo CD projects to manage helm deployments by creating a custom project, setting allowed source repositories, destinations, and a resource allow list, and linking to a git repository.
Learn to connect GitHub with Argo CD in Kubernetes, configuring repositories and access tokens. Create a personal access token, set up https connections, and verify repository credentials for smooth deployment.
Create an Argo CD application from a git repository, deploy the web server in the Argo CD namespace, and sync, delete, and recreate to verify health and upgrade nginx tag.
Learn to keep Docker images up to date in a helm and Argo CD workflow, balancing production stability with version constraints by pinning major/minor versions and updating via git.
Explore how the Argo CD image updater fetches docker images and updates them only when tracked by Argo CD, benefiting deployments and pods.
Understand how Argo CD Image Updater keeps Docker images in Helm deployments current, handling external community charts and your own charts.
Configure the GitHub back end for the Argo CD image updater by setting the writeback method to git and creating a repo secret in the Argo CD namespace.
Test the Argo CD image updater by configuring a Docker.io library image, applying version constraints, and confirming updates from 1.6.0 to 1.6.1 and beyond.
Learn how to design a best-practice Helm chart by using flat values for simplicity, choosing secure non-root Docker images, and applying appropriate volume permissions.
Explore reliable helm charts by using Bitnami charts, regularly updated and automated by Bitnami, so learning 1–2 configurations makes the rest easier. Review the awesome helm resources on GitHub.
Use a Bitnami Helm chart as a base to configure Bitnami nginx images, wire Keycloak with PostgreSQL backend, leverage the Bitnami common package, and explore external databases and Helm repositories.
Explore how deployment, service, and ingress connect in a helm chart using a Bitnami PostgreSQL subchart, including referencing values.yaml, ports, and ingress class name.
Publish your helm chart by choosing a hosting location, such as GitHub pages or Chart Museum, and prepare for distributing a chart that includes a PostgreSQL subchart.
Enjoy my course to troubleshooting excellence designed for people with a basic developer or system administration background. This course offers a deep dive into the world of Kubernetes, Helm, and ArgoCD, focusing on the critical skills needed to troubleshoot and optimize the application lifecycle in a cloud-native environment.
What You Will Learn:
Helm Deep Dive: Learn how to manage applications with Helm charts, including chart creation, GitOps integration and dependency management.
Problem identification: Understand the components that make up a Kubernetes cluster.
ArgoCD Integration: Explore continuous deployment with ArgoCD, covering application definitions, configurations, and sync policies.
Troubleshooting Techniques: Gain expertise in identifying and resolving common issues in Helm releases, Kubernetes operations, and ArgoCD sync attempts.
Best Practices: Adopt industry-standard practices for helm charts and automation of your deployment pipeline.
Who This Course Is For:
Developers seeking to enhance their Kubernetes and Helm skills.
System administrators aiming to streamline application deployment and management.
Course Requirements:
Basic understanding of writing code
Familiarity with command-line interfaces and YAML syntax.
Access to a Kubernetes cluster for hands-on exercises (minikube or similar).
Why Take This Course:
With the rise of container orchestration and microservices, mastering Kubernetes and its ecosystem has become essential. This course empowers you to tackle real-world challenges involving Helm and GitOps. Participate now and become good at Helm and get a mindset that leads through all obstacles.
About used Logos:
Logos used in the course are used unchanged for educational purposes only:
Logos from the CNCF/artwork repository:
Helm
Kubernetes
Argo
Chaos Mesh
Chartmuseum by Helm
Minikube from Kubernetes repo under
Creative Commons Attribution 4.0 International
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License.
Background music "Be corporate" by Veaceslav Draganov