I see a few options here:
1) an external load balancer.
If you are running on AWS, GCE or other cloud providers you can use the load balancer as a service those companies provide. Your DNS names will point to the load balancer's IP and your load balancer forwards traffic to your nodes.
PROS: you always have high availability (load balancer is redundant, you need at least 2 nodes and you're good to go). You also get automatic failover (if a node fails, requests are forwarded to the other nodes of your cluster).
CONS: load balancers cost money
2) a "DIY" load balancer.
You can run another server with haproxy, nginx or whatever proxy service that runs a load balancer service for you. The DNS will point to the proxy server (which is only one at this point) and it forwards to your nodes.
PROS: limited additional cost (the proxy could even be one of your cluster's nodes).
CONS: you have to setup the whole infrastructure (failover, node discovery just to name two things you should care about). You lose high availability (as long as you don't make your proxy redundant, but I'm keeping things simple)
3) multiple DNS records.
You can set, as you suggested, multiple IP addresses in your DNS records. In this case, the client will connect to a random node in your cluster.
PROS: free of charge
CONS: if a node goes down, clients will still try to connect to it as long as you don't remove it from your DNS (and it takes time, due to TTL).
If somebody has other ideas I'm glad to hear