[ 
https://issues.apache.org/jira/browse/HBASE-29762?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Balazs Meszaros updated HBASE-29762:
------------------------------------
    Description: 
When HBase is deployed to kubernetes, kubernetes assigns its own hostnames to 
HBase pods. It works fine while the clients are in the same kubernetes 
environment, but can be an issue if they are coming from outside the kubernetes 
environment. Kubernetes offers several methods for exposing services like 
Istio, Load Balancers, ... Any method can be used, but these methods share one 
thing: the external addresses are different from the internal addresses.

The goal is to support external HBase client connection to kubernetized HBase 
clusters. The idea is to implement a co-processor which translates the internal 
addresses to external addresses. This translation is optional based on a client 
connection header (which is coming from a configuration property).

This task sums up these efforts:

* [HBASE-29763] Implement co-processor host for client-meta (Zookeeper-less 
HBase discovery) service.
* [HBASE-29764] Make client connection header attributes accessible inside 
co-processors.
* [HBASE-29765] Make client connection header attributes configurable.
* [HBASE-29766] Implement a co-processor which intercepts client-meta calls, 
hbase:meta table gets/scans and replaces internal addresses with external 
addresses.

  was:
When HBase is deployed to kubernetes, kubernetes assigns its own hostnames to 
HBase pods. It works fine while the clients are in the same kubernetes 
environment, but can be an issue if they are coming from outside the kubernetes 
environment. Kubernetes offers several methods for exposing services like 
Istio, Load Balancers, ... Any method can be used, but these methods share one 
thing: the external addresses are different from the internal addresses.

The goal is to support external HBase client connection to kubernetized HBase 
clusters. The idea is to implement a co-processor which translates the internal 
addresses to external addresses. This translation is optional based on a client 
connection header (which is coming from a configuration property).


> Support external client connection to kubernetized HBase cluster
> ----------------------------------------------------------------
>
>                 Key: HBASE-29762
>                 URL: https://issues.apache.org/jira/browse/HBASE-29762
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Balazs Meszaros
>            Assignee: Balazs Meszaros
>            Priority: Major
>
> When HBase is deployed to kubernetes, kubernetes assigns its own hostnames to 
> HBase pods. It works fine while the clients are in the same kubernetes 
> environment, but can be an issue if they are coming from outside the 
> kubernetes environment. Kubernetes offers several methods for exposing 
> services like Istio, Load Balancers, ... Any method can be used, but these 
> methods share one thing: the external addresses are different from the 
> internal addresses.
> The goal is to support external HBase client connection to kubernetized HBase 
> clusters. The idea is to implement a co-processor which translates the 
> internal addresses to external addresses. This translation is optional based 
> on a client connection header (which is coming from a configuration property).
> This task sums up these efforts:
> * [HBASE-29763] Implement co-processor host for client-meta (Zookeeper-less 
> HBase discovery) service.
> * [HBASE-29764] Make client connection header attributes accessible inside 
> co-processors.
> * [HBASE-29765] Make client connection header attributes configurable.
> * [HBASE-29766] Implement a co-processor which intercepts client-meta calls, 
> hbase:meta table gets/scans and replaces internal addresses with external 
> addresses.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to