Microkubes is a ground-up scalable microservice framework
For more information and how to set up your first microservice with Microkubes, visit our Getting started page.
These instructions will let you deploy the Microkubes on Kubernetes
- Run a single-node Kubernetes cluster via Minikube tool
minikube --memory 8192 --cpus 2 start
- Create keys for authorization servers:
./keys/create.sh
- Create a default microkubes namespace and service account
kubectl create -f kubernetes/manifests/namespace.yaml
kubectl create -f kubernetes/manifests/serviceaccount.yaml
- Create a secret from keys generated in Step 2
kubectl -n microkubes create secret generic microkubes-secrets \
--from-file=keys/default \
--from-file=keys/default.pub \
--from-file=keys/private.pem \
--from-file=keys/public.pub \
--from-file=keys/service.cert \
--from-file=keys/service.key \
--from-file=keys/system \
--from-file=keys/system.pub
- Create a secret for the mongo objects creation
kubectl -n microkubes create secret generic mongo-init-db \
--from-file=./kubernetes/manifests/mongo/create_microkubes_db_objects.sh
- Create microkubes configmap
kubectl -n microkubes create -f kubernetes/manifests/microkubes-configmap.yaml
Run the following commands:
cd kubernetes/manifests
kubectl create -f consul.yaml
kubectl create -f kube-consul-register.yaml
kubectl create -f kong.yaml
kubectl create -f mongo.yaml
kubectl create -f rabbitmq.yaml
kubectl create -f fakesmtp.yaml
kubectl create -f microkubes.yaml
The platform takes about 5 minutes to bring up and you can follow the progress using kubectl -n microkubes get pods -w
.
Once all services are running, you can start using microkubes.
The API gateway is exposed as a nodePort in kubernetes, you can get the URL and do an http GET request to check that microkubes is responding.
MICROKUBES_URL=`minikube service -n microkubes kong --url`
curl $MICROKUBES_URL/users
For contributing to this repository or its documentation, see the Contributing guidelines.