Book Image

Managing Kubernetes Resources Using Helm - Second Edition

By : Andrew Block, Austin Dewey
Book Image

Managing Kubernetes Resources Using Helm - Second Edition

By: Andrew Block, Austin Dewey

Overview of this book

Containerization is one of the best ways to implement DevOps, and learning how to execute it effectively is an essential part of a developer’s skillset. Kubernetes is the current industry standard for container orchestration. This book will help you discover the efficiency of managing applications running on Kubernetes with Helm. Starting with a brief introduction to Helm and its impact on users working with containers and Kubernetes, you’ll delve into the primitives of Helm charts and their architecture and use cases. From there, you’ll understand how to write Helm charts in order to automate application deployment on Kubernetes and work your way toward more advanced strategies. These enterprise-ready patterns are focused on concepts beyond the basics so that you can use Helm optimally, looking at topics related to automation, application development, delivery, lifecycle management, and security. By the end of this book, you’ll have learned how to leverage Helm to build, deploy, and manage applications on Kubernetes.
Table of Contents (18 chapters)
Part 1: Introduction and Setup
Part 2: Helm Chart Development
Part 3: Advanced Deployment Patterns

Deploying a Helm chart from a Git repository

In true GitOps fashion, Argo CD can be used to deploy a Helm chart from a Git repository. The following diagram shows the flow involved in deploying a Helm chart from a Git repository using Argo CD:

Figure 10.3 – Deploying a Helm chart from a Git repository

Here, you can see that Argo CD clones the Git repository containing the desired Helm chart. Then, Argo CD interprets the repository as one containing a Helm chart, since it notices the presence of the Chart.yaml file and surrounding Helm chart structure. From there, Argo CD proceeds by rendering the Helm chart manifests and applying them to the designated Kubernetes namespace.

Note that Argo CD renders the Helm chart templates and applies them as opposed to installing the Helm chart directly. This is because Argo CD only applies Kubernetes manifests, so it first runs a helm template internally to produce the full Kubernetes manifest from the provided...