Solutions to create a cluster split on 2 VMs

1/11/2019

I'm looking for some clues on which solution can help me on my problem which is running a kubernetes cluster between 2 VMs.

I'm beginning with Kubernetes and all its possibilities but like everybody I started from a minikube single-node cluster to host my 4 containers respectively hosting mongoDB, redis, rabbitMQ and minio.

enter image description here

The idea is that I need something like minikube to create a cluster like this: enter image description here Moreover, these 2 VMs will run on RedHat EL 7 and won't be local and they may be hosted on different machines

Is it possible to build that architecture with kubeadm?

I may lack some vocabulary or some points may be unclear so I'll refine this post as the thread goes. For the same reason I apologize if this is a duplicate but from what I've seen it's not.

-- Manu
kubeadm
kubernetes
openshift

1 Answer

1/27/2019

I don't get why this has been downvoted.

Response is yes, it can be achieved with kubeadm, it will allow you to aggregate your different VM/hosts into the cluster in the same way docker-swarm does by kind of subscribing them into the cluster.

See how (thanks @Jason Stanley)


Some Prerequisites


If like me you're on a client infrastructure, implementing your solution 'on-premise' on a Red Hat environment, you'll need two or three things.

  • The proper docker environment
  • An image registry
  • An easy way to configure your cluster

Docker environment

First one and because it's a restriction meant by docker and red hat is to use docker-ee the enterprise edition which allow support on prod by red hat, which is why most people pay a red hat subscription.

See typical architecture using docker-ee and how to install that on Red Hat

Local image registry

The other thing is to deploy a docker registry, this is an official image (documentation here) provided by Docker team, registry will allow your cluster to pull the image from it - images that you will push inside while setting everything up - note that this is relevant in a restricted environment where your VM/hosts can't have access to internet or use a proxy.

Cluster setting tool

One handy tool is using helm which allow you to set your cluster easily by referencing which images provide a given service, on which port with which policy.

Helm documentation

-- Manu
Source: StackOverflow