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

Summary

Dependencies can greatly reduce the effort required to deploy complex applications in Kubernetes. As we saw with our guestbook chart, to deploy a Redis backend, we only needed to add five lines of YAML to our Chart.yaml file. Compare this to the effort required to write an entirely separate Redis chart from scratch, which would have required both a high level of Kubernetes and Redis expertise.

Helm dependency management supports several different configurations to declare, as well as configure dependencies. To declare a dependency, you can specify the chart’s name, version, and repository under the dependencies map in the Chart.yaml file. You can allow users to toggle whether to enable or disable each dependency using the condition and tags properties. When incorporating multiple instances of the same dependency, you can use alias to provide each with a unique identifier, and when working with dependencies with complex values, you can use import-values to simplify...