This device is not compatible.
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.
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
Deploying multi-tier applications on Kubernetes requires managing numerous YAML manifests for deployments, services, and configurations. Helm simplifies this by packaging Kubernetes resources into reusable Helm charts that enable one-command deployments with customizable settings.
In this project, we'll deploy a Ruby on Rails application with a PostgreSQL database on Kubernetes using Helm and Docker. We'll start by containerizing the Rails application with Docker, creating a Docker image, and pushing it to Docker Hub. Next, we'll set up a Kubernetes cluster and install Helm, then use a published Helm chart to deploy the PostgreSQL database with custom configurations. We'll create a custom Helm chart for the Rails frontend, defining Kubernetes deployments, services, and ConfigMaps to inject environment variables for database connectivity.
We'll configure Helm values files to manage settings for both the database and frontend, ensuring proper communication between components. After deploying both charts to the Kubernetes cluster, we'll access the running application through exposed services. By the end, you'll have hands-on experience with Helm chart creation, multi-component deployment, Docker containerization, Kubernetes service networking, and environment configuration applicable to any microservices architecture or full-stack application deployment.
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!
Subscribe to project updates
Atabek BEKENOV
Senior Software Engineer
Pradip Pariyar
Senior Software Engineer
Renzo Scriber
Senior Software Engineer
Vasiliki Nikolaidi
Senior Software Engineer
Juan Carlos Valerio Arrieta
Senior Software Engineer
Relevant Courses
Use the following content to review prerequisites or explore specific concepts in detail.