VIP for XtraDB Cluster

Hello dear experts.

I’m new here (and new in general to MySQL), so please be gentle.

For testing purposes, I have setup a 3-Node XtraDB cluster in a lab environment using the documentation here. Everything is working great.
I then installed the application (in this case it is Zabbix) on all 3 nodes, and using Pacemaker+Corosync I set up a simple HA for the application (one node is active, two others are standby in case it fails).

I’m now missing the final step: I need to point my application to a database. Obviously I’m gonna need some sort of floating IP address that represents all 3 nodes, and some way to perform load-balancing. I’ve looked at several solutions for this, but I’ve only become more confused. What is the simplest way to achieve this, preferably one with a good step-by-step guide for the scared newbie?

Thanks!

Take a look at maxscale: https://mariadb.com/products/mariadb-maxscale
Dead simple to setup: https://severalnines.com/blog/deploy-and-configure-maxscale-sql-load-balancing

MaxScale looks great, but I’m not seeing anything there about creation of a floating IP…

I haven’t really tested this setup but this looks promising:
https://mariadb.com/resources/blog/how-make-maxscale-high-available-corosyncpacemaker

Maybe you can use keepalived to
have a floating IP.
https://www.percona.com/blog/2013/10/15/using-keepalived-ha-top-percona-xtradb-cluster/