jetstack/navigator

Should be able to use DNS tools to resolve the IP address of Cassandra nodes

wallrj opened this issue · 0 comments

In #334 we gave each Cassandra Pod a fully qualified domain name, based on the statefulset name for each nodepool.

But currently each pod can only resolve its own FQDN, because Kubernetes adds the FQDN to the hosts file inside the pod.

That turns out to be all that's necessary for a C* node to announce its current IP address to the other cluster nodes.

But ideally (e.g. for debugging) the FQDN of each pod should be resolvable from elsewhere in the cluster and perhaps this will become necessary if the current hosts file behaviour ever changes.

It might also be necessary if we ever want to integrate with Istio because Istio derives its network policy from the endpoints of Kubernetes services.
Although it looks like Istio has some issues with headless services: istio/istio#1277

So we should add a headless service for each nodepool statefulset.
#330 shows how this can be done as part of the CreateNodePool action.

/kind bug