This repository is my personal Kubernetes home lab. It uses kind (Kubernetes in Docker) for fast, local cluster creation and just for simple command automation.
The goal is to have a clean, repeatable environment to experiment with different cloud-native tools.
Before you begin, make sure you have the following tools installed on your system:
- Docker: The container runtime used by
kind. - kubectl: The Kubernetes command-line tool.
- kind: The tool for running local Kubernetes clusters.
- just: A handy command runner.
-
Clone the repository:
git clone http://github.com/1995parham-learning/k8s-lab cd k8s-lab -
Set up the cluster: This single command will create a
kindcluster and install the NGINX Ingress controller.just setup
-
Verify the setup: This command deploys a sample application and tests that the Ingress is working correctly.
just test
├── experiments/
│ └── nginx-ingress/
│ └── justfile # <-- Self-contained logic for this tool
│ └── prometheus/ # <-- Future experiment
│ └── justfile
├── justfile # <-- Root justfile for managing cluster and delegating
├── kind-config.yaml
└── README.md
This section documents the available tools. To add a new tool, simply create a new folder in this directory with its own justfile containing install and remove recipes.
- Purpose: Manages external access to services in the cluster via HTTP/S routing.
- Install:
just install nginx-ingress - Remove:
just remove nginx-ingress
When you're done, you can completely remove the cluster and all its resources with a single command:
just delete