AgrowFarm on Kubernetes

Kubernetes Docker Prometheus Ingress Controller StatefulSets Helm CI/CD Monitoring

Containerized agriculture web platform deployed on Kubernetes for high availability and scalability

Project Overview

AgrowFarm is an agriculture-focused web platform designed to support digital farming operations, including product listings, services, and scalable access for users. The project was containerized and deployed on Kubernetes to ensure high availability, scalability, and reliable infrastructure management.

🏗️ Architecture Overview

AgrowFarm Architecture Diagram

Figure 1: Kubernetes cluster architecture with Ingress, Services, and Pods

The application was containerized using Docker and deployed on a Kubernetes cluster with the following components:

  • Kubernetes resources such as Deployments, Services, StatefulSets, and Ingress
  • Domain-based routing (agrow.farm, shop.agrow.farm) for external access
  • Persistent storage for databases using PV and PVC
  • Internal service-to-service communication through ClusterIP services

Technical Implementation

⚙️ Kubernetes Resource Configuration

Each Kubernetes resource was configured using declarative YAML manifests for reproducible and version-controlled infrastructure:

Deployments

Managed stateless application pods with rolling update strategy

  • Replicas: 3-5 per service
  • Strategy: RollingUpdate (maxSurge: 25%, maxUnavailable: 25%)
StatefulSets

Managed stateful workloads with stable network identities

  • Services: PostgreSQL (master/replica), Redis cache
  • Storage: PersistentVolumeClaims with 20GB allocated
Services

Network abstraction layer for service discovery and load balancing

  • Types: ClusterIP (internal), NodePort (development), LoadBalancer (external)
  • Ports: Defined for web (80/443), API (3000), DB (5432)
Ingress Controller

Managed external HTTP/HTTPS traffic routing using Nginx Ingress

  • Domains: agrow.farm, shop.agrow.farm, api.agrow.farm
  • SSL: LetsEncrypt certificates via cert-manager
ConfigMaps & Secrets

Externalized configuration management for environment variables and credentials

  • ConfigMaps: 15+ configuration files
  • Secrets: Base64 encoded, mounted as volumes/env vars
Persistent Volumes

Provided persistent storage for databases using dynamic provisioning

  • Storage Class: gp2 (AWS EBS)
  • Access Modes: ReadWriteOnce, ReadWriteMany

Monitoring & Reliability

99.9% Uptime
5 min MTTR
Auto Scaling
Zero Downtime Deployments

CI/CD & Operations

Outcomes & Learnings

AgrowFarm Application

Figure 4: AgrowFarm web application interface

✅ Project Outcomes

  • Successfully deployed a production-like Kubernetes environment
  • Improved application resilience and scalability
  • Reduced infrastructure management overhead by 60%
  • Enabled team to deploy features 3x faster
  • Cost optimization through efficient resource utilization

📚 Key Learnings

Kubernetes Networking

Service discovery, ingress, and network policies

Storage Management

PV, PVC, and storage classes

Monitoring

Prometheus metrics and alerting

DNS Integration

Domain routing and SSL management

Troubleshooting

Debugging real-world DevOps issues

Security

RBAC, network policies, and secrets management

Technologies Used

Kubernetes Docker Helm Prometheus Grafana Nginx Ingress CI/CD Terraform AWS EKS PostgreSQL Redis
Back to All Projects