Any suggestion for running Aerospike on Kubernetes on CoreOS on GCE?

877 Views Asked by At

I would like to run Aerospike cluster on Docker containers managed by Kubernetes on CoreOS on Google Compute Engine (GCE). But since GCE does not permit multicast, I have to use Mesh heartbeat as described here, which has to be set up by specifying all node's IP addresses and ports; it seems so inflexible to me.

Is there any recommended cloud-config settings for Aerospike cluster on Kubernetes/CoreOS/GCE with flexibility of the cluster being kept?

3

There are 3 best solutions below

0
On BEST ANSWER

An alternative to specifying all mesh seed IP addresses is to use the asinfo tip command.

Please see:

http://www.aerospike.com/docs/reference/info/#tip

the tip command

asinfo -v 'tip:host=172.16.121.138;port=3002'

The above command could be added to a script or orchestration tool with correct ips.

You may also find addtional info on the aerospike Forum:

Aerospike Forum

0
On

You can get the pod IPs from a service via a DNS query with the integrated DNS - if you set clusterIP: "none", a

dig +short svcname.namespace.svc.cluster.local

Will return each pod ip in the service.

0
On

When we talked with the Aerospike engineers during pre-sales they recommended against running Aerospike inside a Docker container (Kubernetes or not). Their reasoning was that when running inside of Docker Aerospike is prevented from accessing the SSD hardware directly and the SSD drivers running through Docker aren't as efficient as running on bare metal (or VM). Many of the optimizations they have written weren't able to be taken advantage of.