Lately, I’ve been playing with Kubernetes. But it hasn’t been an easy ride! The guys running the project are really awesome and supportive, but they just can’t maintain documentation on the myriad of providers they’ve been able to use to provision a cluster.
Given this, I’ve tried to make it easy for people like me, the day-to-day developer that just wants to try out this amazing technology or develop apps on top of it. And so I did. Here you’ll find a quick and simple way to bootstrap a Kubernetes cluster on top of Vagrant (Virtualbox) and CoreOs.
Give it a spin and let me know what you think.
I’ve had experience with clustering Hazelcast in Google Cloud Engine before, but right now, in the advent of containers, Kubernetes is becoming a standard for app/container orchestration and therefore my previous effort has become somewhat obsolete – unless you’re limited to VMs and have to use TCP-based clustering for Hazelcast, since multicast traffic may be blocked (it is on most cloud providers).
Given this, I’ve assembled a Dockerfile which will run a small app (hazelcast-kubernetes-bootstrapper) on boot. This app queries Kubernetes API to discover all nodes in the [Kubernetes] cluster that are acting as an Hazelcast node, retrieves their IP addresses, configures and instantiates Hazelcast with TCP configuration, accordingly.
Please test it and give me feedback. All you need is Docker and a Kubernetes cluster (I’ve tested it locally and in Google Container Engine).
More information, including step-by-step instructrion can be found at https://github.com/pires/hazelcast-kubernetes.