Skip to content

Monorepo dedicated to easy boostrap Kubernetes operators, controllers & CRDs. It's a kubernetes playground lab allowing dig on kubernetes internals.

Notifications You must be signed in to change notification settings

marcosQuesada/k8s-lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

K8s-lab [WIP]

Monorepo dedicated to easy boostrap Kubernetes operators, controllers & CRDs. It's a kubernetes lab playground allowing dig on kubernetes internals.

Projects

  • config-reloader-controller
    • watches concretes configmaps, on change detected refresh deployment/statefulset ensuring all pods are running in the last updated config version.
  • swarm-pool-controller
    • shards jobs to a workers pool in an ordered deterministic way
    • Those jobs cannot be executed concurrently, so that, it balances jobs to the workers pool, allowing scale up/down in a transparent way.
  • scheduler-controler
    • schedule actions (shell commands) in ticker/timer fashion (redoing what cronjob does indeed)

Minikube setup

The whole system can be tested using minikube, a few notes to make it work:

Start minikube cluster:

minikube start --addons=ingress --cpus=2 --cni=flannel --install-addons=true --kubernetes-version=stable --memory=6g --driver=docker

Stop minikube cluster:

minikube stop

Build docker image

Bear in mind that minikube images are expected to be local, if you check k8s manifest you will see that imagePullPolicy is Never in all the cases. [This will be fixed using Kustomize in further iterations]

Before building images ensure minikube is pointing docker env:

eval $(minikube docker-env)

About

Monorepo dedicated to easy boostrap Kubernetes operators, controllers & CRDs. It's a kubernetes playground lab allowing dig on kubernetes internals.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published