Skip to content

BarkinKctp/Kubernetes-Helm-Lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minikube Helm kubectl ArgoCD AWS

Kubernetes Lab - Webapp

Flask webapp demonstrating Kubernetes deployment patterns with Helm, Kustomize, and ArgoCD.

Quick Start

Prerequisites: Minikube, Helm, kubectl

minikube start --driver=docker

Alias (optional)

alias k=kubectl

Deployment Options

Helm (Default)

helm install webapp helm-webapp/ --values helm-webapp/values.yaml

k port-forward svc/webapp 8888:80
# Open: http://localhost:8888

Helm with Dev Overlay

k create namespace dev

helm install mywebapp-release-dev helm-webapp/ --values helm-webapp/values.yaml -f helm-webapp/values-dev.yaml -n dev

k port-forward svc/webapp 8888:80 -n dev
# Open: http://localhost:8888

Kustomize

Environment-specific overlays (config, replicas, patches applied to base).

kubectl apply -k kustom-webapp/overlays/prod

k port-forward svc/webapp 8888:80
# Open: http://localhost:8888

Static Manifests

kubectl apply -f Deployment/v1.yaml
kubectl apply -f Deployment/v2.yaml
kubectl apply -f Deployment/v3.yaml

k port-forward svc/webapp 8888:80
# Open: http://localhost:8888

Manage

# Expose via LoadBalancer (local)
minikube tunnel
k get svc

# Cleanup
helm uninstall webapp
helm uninstall mywebapp-release-dev -n dev

Project Structure

  • helm-webapp/ - Helm chart with environment overlays
  • kustom-webapp/ - Kustomize base + dev/prod overlays with replacements
  • Deployment/ - Static manifests (v1-v3 progression)
  • Dockerapp/ - Flask app source

Features

Security: Non-root user, read-only filesystem
Availability: HPA, PDB, rolling updates
Configuration: Immutable ConfigMaps, environment-specific overlays

ArgoCD Documentation

Troubleshooting

  • Pods stuck in CrashLoopBackOff — Check logs: k logs <pod-name>
  • Cannot access app — Ensure port-forward or minikube tunnel is running
  • YAML files not recognized — Use .yaml extension (not .yml)

About

Kubernetes lab with Minikube, ArgoCD and AWS EKS. Covers deployments, services, Helm charts and DevOps workflows.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors