Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Kubernetes Deployment of Java Application

Project Overview

This project demonstrates the deployment of a Java Spring Boot application on Kubernetes using Minikube running on an AWS EC2 instance.

The application is containerized using Docker and deployed to a Kubernetes cluster using Deployment and Service resources. The project also demonstrates pod scaling and service exposure through Kubernetes.

Architecture

User

Kubernetes Service (NodePort)

Kubernetes Deployment

Spring Boot Application Pods

Technologies Used

  • AWS EC2
  • Amazon Linux 2023
  • Docker
  • Kubernetes
  • Minikube
  • kubectl
  • Java 21
  • Spring Boot
  • Git
  • GitHub

Project Structure

kubernetes-java-application-deployment/

├── deployment.yaml

├── service.yaml

└── README.md

Kubernetes Deployment

Deployment configuration creates multiple replicas of the Spring Boot application.

Features:

  • Multiple Pod Replicas
  • Self-Healing Pods
  • Containerized Application Deployment
  • Rolling Updates Support

Kubernetes Service

NodePort service exposes the application to external users.

Features:

  • Internal Cluster Networking
  • External Access Through NodePort
  • Load Distribution Across Pods

Deployment Steps

Apply Deployment

kubectl apply -f deployment.yaml

Apply Service

kubectl apply -f service.yaml

Verify Pods

kubectl get pods

Verify Deployment

kubectl get deployments

Verify Service

kubectl get svc

Scaling Application

Scale deployment to 4 replicas:

kubectl scale deployment backend-deployment --replicas=4

Verify:

kubectl get pods

Project Outcome

Successfully deployed a Java Spring Boot application on Kubernetes and managed application lifecycle using Kubernetes Deployments and Services.

Learning Outcomes

  • Kubernetes Cluster Setup
  • Minikube Administration
  • Pod Management
  • Deployments
  • Services
  • Scaling Applications
  • Container Orchestration
  • AWS EC2 Administration

Author

Vignesh

AWS | DevOps | Linux | Kubernetes

About

Deployed a Java Spring Boot application on Kubernetes using Minikube and Docker. Implemented Deployments, Services, Pod Scaling, and container orchestration on AWS EC2.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors