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)
1
Part 1: Introduction and Setup
5
Part 2: Helm Chart Development
12
Part 3: Advanced Deployment Patterns

Setting up your environment

In this chapter, we will create several namespaces to install Argo CD and deploy an example Helm chart across different namespaces.

Run the following commands to prepare your environment:

  1. Start minikube by running the minikube start command:
    $ minikube start
  2. Then, create a new namespace called argo, where we will later install Argo CD:
    $ kubectl create namespace argo
  3. Next, create a namespace called chapter10, where we will deploy an example Helm chart from Argo CD:
    $ kubectl create namespace chapter10
  4. Finally, create two namespaces called chapter10-dev and chapter10-prod. We will use these namespaces to demonstrate deploying a Helm chart across multiple environments using Argo CD:
    $ kubectl create namespace chapter10-dev
    $ kubectl create namespace chapter10-prod

With your minikube environment ready and your namespaces created, let’s begin by deploying Argo CD. Then, we will walk through examples of using Argo CD to deploy...