0

I want to deploy Keepalived in the AWS autoscalling group. The issue that Keepalived need to know ip address of the each node in the cluster, that is difficult in the elastic environment, where we can't manage ip address, nodes can be added and removed. So we need to have some a service discovery.

What is the best way to implement service (node) discovery if you don't have a control on ip addresses?

1 Answer 1

0

Assuming this is a basic HTTP app the best way to register and deregister services with a load balancer is with an Elastic Load Balancer (ELB). Since you are already using an ASG this can be configured to be done automatically.

You can also specify the number of health checks that must pass before a node is put into service and the number that must pass before it is taken out of service.

Since you mentioned keepalive, the connection timeout can also be configured and you can optionally turn on connection draining.

3
  • Unfortunately, no. I need to deploy failover cluster where only one node can be master. Plus cluster components ned to communicate with each other. Jul 18, 2015 at 5:16
  • That makes things more complicated and means an ELB is probably out of the question. You could use an EIP and the AWS SDK to automatically cutover in the case of failure. Alternatively you could just use DNS to cutover. Jul 19, 2015 at 0:41
  • Yeap, I finally come to idea that for cluster that requires static is doesn't make sense to use ASG without service discovery like Consul Jul 19, 2015 at 8:30

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .