Service exposition with ListenerClasses

The operator deploys a Listener for each Master, Regionserver and Restserver pod. They all default to only being accessible from within the Kubernetes cluster, but this can be changed by setting .spec.{masters,regionServers,restServers}.config.listenerClass:

spec:
  masters:
    config:
      listenerClass: external-unstable  (1)
  regionServers:
    config:
      listenerClass: external-unstable
  restServers:
    config:
      listenerClass: external-unstable
1 Specify one of external-stable, external-unstable, cluster-internal (the default setting is cluster-internal). This can be set separately for all roles.

Listener endpoints are written to hbase-site.xml like this:

  <property>
    <name>hbase.listener.endpoint</name>
    <value>172.19.0.3:32445</value>
  </property>