https://github.com/marco-lancini/k8s-lab
Modular Kubernetes lab which provides an easy and streamlined way to deploy a test cluster with support for different components.
https://github.com/marco-lancini/k8s-lab
kubernetes lab plz
Last synced: about 2 months ago
JSON representation
Modular Kubernetes lab which provides an easy and streamlined way to deploy a test cluster with support for different components.
- Host: GitHub
- URL: https://github.com/marco-lancini/k8s-lab
- Owner: marco-lancini
- Created: 2020-06-26T15:05:58.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-01-02T10:29:12.000Z (over 1 year ago)
- Last Synced: 2024-10-29T16:58:29.459Z (6 months ago)
- Topics: kubernetes, lab, plz
- Language: Shell
- Homepage: https://blog.marcolancini.it/2021/blog-k8s-lab-plz/
- Size: 1.5 MB
- Stars: 52
- Watchers: 6
- Forks: 4
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
`k8s-lab-plz` is a modular Kubernetes lab which provides an easy and streamlined way (managed via [please.build](https://please.build/)) to deploy a test cluster with support for different components.
Each component can be deployed in a repeatable way with one single command.
Usage for supported components:
| Component | Usage | Namespace |
| -------------------------------------------------------- | --------------------------------- | ------------------------------------------------ |
| Baremetal Setup (Load Balancing, Volumes, etc.) | [docs](components/baremetal/) | `ingress-nginx`
`metallb-system`
`haproxy` |
| Vault | [docs](components/vault/) | `vault` |
| ELK (Elasticsearch, Kibana, Filebeats) | [docs](components/elk/) | `elastic-system` |
| Observability (Prometheus, Grafana, Alertmanager) | [docs](components/observability/) | `observability` |
| Kafka (Kafka, Zookeeper, KafkaExporter, Entity Operator) | [docs](components/kafka/) | `kafka` |
| Cartography | [docs](components/cartography/) | `cartography` |
| Yopass | [docs](components/yopass/) | `yopass` |## Prerequisites
* Minikube (see [official docs](https://kubernetes.io/docs/tasks/tools/install-minikube/) for your OS) or Baremetal Kubernetes (see [baremetal setup](components/baremetal/))
* If using minikube, ensure it is up and running:
```bash
❯ minikube start --cpus 4 --memory 6098
```
* Docker (see [official docs](https://docs.docker.com/get-docker/) for your OS)
* Plz (see [official docs](https://please.build/quickstart.html) for your OS)
* Helm 3 (see [official docs](https://helm.sh/docs/intro/install/) for your OS)## Roadmap
* [X] ~~Vault~~
* [X] ~~ELK (Elasticsearch, Kibana, Filebeats)~~
* [X] ~~Observability (Prometheus, Grafana, Alertmanager)~~
* [X] ~~Kafka (Kafka, Zookeeper, KafkaExporter, Entity Operator)~~
* [X] ~~Baremetal Setup (Load Balancing, Volumes, etc.)~~
* [X] ~~Cartography~~
* [X] ~~Yopass~~
* [ ] Istio
* [ ] Gatekeeper
* [ ] Falco
* [ ] Starboard
* [ ] Audit logging
* [ ] Private RegistryInterested in another component to be added? Raise an issue!
For a more detailed view of what's coming up, please refer to the
[Kanban board](https://github.com/marco-lancini/k8s-lab/projects/1).