https://github.com/codeofnode/quick-cluster
A quick k8s cluster made with different services talking to each other, with different protocols like http, https and http2
https://github.com/codeofnode/quick-cluster
Last synced: 2 days ago
JSON representation
A quick k8s cluster made with different services talking to each other, with different protocols like http, https and http2
- Host: GitHub
- URL: https://github.com/codeofnode/quick-cluster
- Owner: codeofnode
- Created: 2022-05-26T13:27:45.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-07-14T08:31:27.000Z (almost 4 years ago)
- Last Synced: 2025-10-08T10:31:05.618Z (7 months ago)
- Language: Makefile
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# quick-cluster
A quick k8s cluster made with different services talking to each other, with different protocols like http, https and http2
# requirements
docker v20.10+
kubectl v1.24.0+
kind ~v0.14+
helm ~v3.9+
yq ~v4.25+
# cluster.yaml
This file defines how the cluster look like and what is expected traffic to be flown between services
```
cluster:
:
kind: server # client or server or clientserver (acting as both serving request and making request)
type: http # http or http2 or https
count: 2 # how many deployments/services to be created. all services will be named -{1,2,3...}
podCount: 2 # how many pods to be created with each deployment
:
...
traffics:
- type: http # http or https or http2, what kind of network traffic to be generated
randomSleepDigits: 0 # sleep before first request, and all subsequent requests, just to make real world kind of scenario,
a random number of specific digits, set 0 for no sleep
from:
- # client or clientserver
- # index of client or clientserver, base 1
to:
- # client or clientserver
- # index of server or clientserver, base 1
```
# getting started after having requirements fulfilled
```
make setup
#make dry-run # to see what config is being generated
make run
```
# cleanup the helm
```
make clean
```
# cleanup everything
```
make reset
```
# debugging
```
# helm install and exec into pod to do all sort of cool stuffs
# make debug DEP_NAME=>
make debug DEP_NAME=client
# don't install, just exec into already installed deployment
# make exec DEP_NAME=>
make exec DEP_NAME=client
# see logs of already installed deployment
# make logs DEP_NAME=>
make logs DEP_NAME=client
```