Multi cname about ExternalName

service

#1
kind: Service
apiVersion: v1
metadata:
  name: my-service
  namespace: prod
spec:
  type: ExternalName
  externalName: my.database-slave1.example.com
  externalName: my.database-slave2.example.com



this could be create ,what real happen  when  using this service ?

the two cname can be resolve ? loadbalance?

#2

An externalName service can only point to a single external address. It does not support multiple entries.


#3

what cat I do to ?

I have two read only databases

thanks for reply


#4

Not sure I understand your question, so please please correct me.

But what is the problem of connecting to two different endpoints?


#5

Your best bet would probably be to setup a dns entry for them outside of your cluster.


#6

Either an external DNS entry like @mrbobbytables said (because they can point to multiple hosts like you want), or a very simple HAProxy Pod with a configuration that does load balancing on a TCP level for you. You can then configure how much traffic should go to each of the database replicas.

I would probably go for the DNS solution, since it is just plain easier.


#7

ExternalName is specifically like CNAME, which can’t have multiple records. You can set up an external service (no selector) with manual Endpoints of the IPs of your database.