Skip to content

ustkost/sna_devops_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Self-Healing and Scalable Application Deployment using Kubernetes with CI/CD Automation

Overview

This project demonstrates deployment of a scalable and fault-tolerant Go web application using Kubernetes and modern DevOps technologies.

The infrastructure supports:

  • High availability using multiple replicas
  • Kubernetes self-healing
  • Horizontal Pod Autoscaling (HPA)
  • Docker containerization
  • CI/CD automation with GitHub Actions
  • Docker Hub integration

Technologies Used

  • Go
  • Docker
  • Kubernetes
  • GitHub Actions
  • Docker Hub
  • Git

Project Structure

.
├── k8s/
│   ├── deployment.yaml
│   ├── service.yaml
│   └── hpa.yaml
├── .github/workflows/
│   └── ci-cd.yml
├── Dockerfile
├── main.go
└── README.md

Installation and Running

Requirements

Install the following tools:

  • Docker
  • Minikube
  • kubectl
  • Git

Clone Repository

git clone https://github.com/ustkost/sna_devops_project
cd sna_devops_project

Start multi-node Minikube cluster:

minikube start --nodes 3

Deploy Application

kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
kubectl apply -f k8s/hpa.yaml

Verify Deployment

kubectl get nodes
kubectl get pods -o wide
kubectl get svc
kubectl get hpa

Open Application

minikube service sna-project

Test Self-Healing

Delete one of the pods:

kubectl delete pod <pod-name>

Kubernetes automatically recreates the pod.

Test Autoscaling

Generate load:

curl http://<service-ip>/load

Docker

Build image

docker build -t myapp .

Run container

docker run -p 8080:8080 myapp

CI/CD Pipeline

GitHub Actions pipeline automatically:

  • Builds the Go application
  • Builds Docker image
  • Pushes image to Docker Hub

Team Members

  • Timur — Go application, Docker, CI/CD, documentation
  • Konstantin — Kubernetes configuration, autoscaling, demo

Demo

https://drive.google.com/drive/folders/1JFk4toS85OfSfH-M1GqjfMgPbrrxfpOh?usp=sharing

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors