Multiple databases with Kubernetes

We are trying to implement Kubernetes in our system and we have two mysql databases and two services.

One service should be able to connect to both databases and the other uses just one.

So auth-service->key-db and transaction-service->key-db + pdns-db.

I currently the databases running and both exposing port 3306 (default mysql) with hostname key-db and pdns-db. The auth-service is able to connect to the key-db fine. But when I try to start the transaction-service which connects to key-db:3306 and pdns-db:3306 it fails.

We don't want to expose the databases so we didn't gave them a Cluster IP. I'm pretty new to this stuff so I guess I'm missing something.

Thanks in advance.


1 answer

  • answered 2018-07-20 16:27 David Maze

    You have to put a Service in front of any Pod that you want to connect to from anywhere, even within the cluster. If you declare it a ClusterIP type (the default) it will only be reachable from within the cluster. You have to explicitly set up the service as a NodePort or LoadBalancer type if you want it to be reachable from outside.