https://github.com/atulkamble/k8s-project
23-09-2025 | kubernetes, kind, nginx
https://github.com/atulkamble/k8s-project
k8s kind nginx
Last synced: about 1 month ago
JSON representation
23-09-2025 | kubernetes, kind, nginx
- Host: GitHub
- URL: https://github.com/atulkamble/k8s-project
- Owner: atulkamble
- License: mit
- Created: 2025-09-22T15:09:14.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-23T01:20:09.000Z (9 months ago)
- Last Synced: 2026-01-15T15:42:07.880Z (5 months ago)
- Topics: k8s, kind, nginx
- Language: Makefile
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kubernetes Project Scaffold
This repository provides a minimal, production-ready Kubernetes scaffold using Kustomize with dev and prod overlays.
- See docs: [Architecture](docs/architecture.md), [Theory](docs/theory.md)
## Prerequisites
- kubectl
- kustomize (or kubectl >= 1.14 which includes `-k`)
- kind or a Kubernetes cluster
- (AWS) awscli and eksctl with credentials configured
## Structure
```
k8s-project/
LICENSE
Makefile
README.md
kind-config.yaml
eksctl-config.yaml
.github/
workflows/
ci.yml
base/
deployment.yaml
ingress.yaml
kustomization.yaml
namespace.yaml
service.yaml
overlays/
dev/
kustomization.yaml
patch-deployment.yaml
patch-ingress.yaml
patch-service.yaml
prod/
kustomization.yaml
patch-ingress.yaml
patch-service.yaml
scripts/
kind-up.sh
kind-down.sh
eks-up.sh
eks-down.sh
docs/
architecture.md
theory.md
```
## Quick start (kind)
```bash
make kind-up
make apply-dev
open http://localhost:3000
```
## Quick start (AWS EKS 2-node)
```bash
make eks-up # creates EKS in us-east-1 by default
make apply-prod
kubectl get svc -n demo | grep web
# copy the EXTERNAL-IP and open http://
```
To customize:
```bash
make eks-up EKS_CLUSTER_NAME=myproj EKS_REGION=us-west-2
```
Tear down:
```bash
make eks-down EKS_CLUSTER_NAME=myproj EKS_REGION=us-west-2
```
## Apply/delete
```bash
make apply-dev # apply dev overlay (NodePort 30080 -> localhost:3000)
make delete-dev # delete dev overlay
make apply-prod # apply prod overlay (Service LoadBalancer)
make delete-prod # delete prod overlay
```
## Other handy targets
```bash
make help # list all targets
make diff # show server diff for current OVERLAY (default dev)
make build # render manifests to build.yaml
make context # show kubectl context and namespace
```
## Configuration
- `OVERLAY` controls which overlay is used (default `dev`).
- `NAMESPACE` optionally sets `kubectl -n` for commands.
- `CLUSTER_NAME` and `KIND_CONFIG` customize Kind cluster creation.
- `EKS_CLUSTER_NAME`, `EKS_REGION`, and `EKSCTL_CONFIG` customize EKS creation.
## Notes
- Base uses `nginx` as a placeholder app. Replace image and manifests as needed.
- Ingress hostnames are placeholders. For Kind, use `http://localhost:3000`. For EKS, use the Service `EXTERNAL-IP` unless you configure an ALB Ingress Controller and DNS.
## 👨💻 Author
**Atul Kamble**
- 💼 [LinkedIn](https://www.linkedin.com/in/atuljkamble)
- 🐙 [GitHub](https://github.com/atulkamble)
- 🐦 [X](https://x.com/Atul_Kamble)
- 📷 [Instagram](https://www.instagram.com/atuljkamble)
- 🌐 [Website](https://www.atulkamble.in)
---