This device is not compatible.
PROJECT
Deploy a Full Stack Web Application over Kubernetes
In this project, we’ll deploy a web application over a Kubernetes cluster. We’ll deploy both the backend and frontend separately. We’ll use ConfigMaps to share common information among the services using the environment variables in our containers.
You will learn to:
Perform different operations on container images.
Use microservice architecture to deploy a web application.
Deploy database as a service over Kubernetes.
Use ConfigMaps to share information among Kubernetes services.
Skills
Microservices
Distributed Architecture
Docker Image Management
Prerequisites
Basic knowledge of Docker and Docker images
Basic knowledge of Docker Hub
Good understanding of Kubernetes services
Basic understanding of microservice architecture
Technologies
Docker
Kubernetes
Project Description
In this project, we'll deploy a complete full-stack Ruby on Rails application with a PostgreSQL database using Docker containerization and Kubernetes orchestration. Kubernetes is an industry-standard container orchestration platform that automates deployment, scaling, and management of containerized applications, providing features like automatic restarts, load balancing, and rolling updates. We'll follow microservices architecture principles by deploying the frontend and database as separate services, demonstrating modern cloud-native application deployment practices.
We'll start by containerizing the Rails web application using Docker, creating Docker images, and pushing them to Docker Hub for centralized image storage. Next, we'll create a Kubernetes cluster and deploy the PostgreSQL database as a stateful service with persistent storage, then expose it using a Kubernetes Service for internal networking. We'll deploy the frontend application as a separate deployment, configure environment variables through ConfigMaps to inject database credentials and connection settings, and create a LoadBalancer Service to expose the application for external access.
Finally, we'll configure both database and frontend deployments with proper resource management, implement declarative configuration using YAML manifests, and verify the application is accessible globally through the Kubernetes Service endpoint. By the end, we'll have a production-ready deployment demonstrating Docker containerization, Kubernetes cluster management, microservices deployment, service discovery, ConfigMap configuration, and container orchestration applicable to any cloud deployment scenario.
Project Tasks
1
Get Started
Task 0: Explore the Application
Task 1: Create a Cluster
Task 2: Containerize and Push the Frontend of the Application
2
Deploy over Kubernetes
Task 3: Deploy the Database
Task 4: Create a Service for the Database
Task 5: Deploy the Frontend of the Application
Task 6: Create a Service for the Front-end
Task 7: Create a ConfigMap
Task 8: Delete Previous Resources
Task 9: Configure the Database Deployment
Task 10: Configure the Frontend Deployment
Task 11: 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.