This device is not compatible.

Create Multiple Deployments Using Helm

PROJECT


Create Multiple Deployments Using Helm

In this project, we'll use Helm 3 to deploy a Ruby on Rails (RoR) application on a Kubernetes cluster. We'll use a published Helm chart to deploy the database and create our own custom Helm chart to deploy the frontend. Finally, we'll use ConfigMaps to share common information between different Services.

Create Multiple Deployments Using Helm

You will learn to:

Configure published Helm charts.

Use Helm charts to deploy a web application.

Add dependencies to a web application.

Use ConfigMaps to share information between Kubernetes Services.

Skills

Microservice Architecture

Package Management Using Helm

Container Management Using Docker

Prerequisites

Docker and Docker images basics

Microservice architecture basics

Artifact Hub basics

A good understanding of Helm and its dependencies

Technologies

Helm

Docker

Kubernetes

Project Description

Kubernetes is an open-source platform that lets us deploy and manage containerized applications. Kubernetes manages Services from initial deployment to the final exposure. Kubernetes is also instrumental in the scalability and availability of applications.

Helm is a package manager for Kubernetes. It bundles different Kubernetes resources into a single, easily-deployable package called a Helm chart. Through Helm, we can install applications using a single command.

In this project, we’ll use Kubernetes and Helm command-line tools to perform different operations necessary to deploy a Ruby on Rails (RoR) application with a PostgreSQL database over a Kubernetes cluster.

First, we’ll use Docker to containerize the application and push it to Docker Hub for later use. Then, we’ll use a published Helm chart to deploy the database. We’ll also create a custom Helm chart to deploy the RoR web application. After deployment, we’ll create and inject environment variables into the front-end and back-end containers. Finally, we’ll host the application using Helm for global access.

Project Tasks

1

Set up the Environment

Task 0: Explore the Application

Task 1: Create a Cluster

Task 2: Set up Helm

Task 3: Containerize and Push the Frontend

2

Create the Chart

Task 4: Set up the Chart

Task 5: Add the Database

Task 6: Configure the Database

Task 7: Add Values for ConfigMap

Task 8: Create a ConfigMap

Task 9: Add Values for Service

Task 10: Create a Service

Task 11: Add Values to Deploy the Frontend

Task 12: Create a Deployment

3

Deploy and Access the Chart

Task 13: Deploy the Chart

Task 14: Access the Application

Congratulations!