dlmarion commented on issue #3178:
URL: https://github.com/apache/accumulo/issues/3178#issuecomment-1420654933

   > I think that's something users can already do outside of Accumulo (such as 
with the hostname, or some other external group file) and using either the 
HostRegexTableLoadBalancer or a custom balancer.
   
   While the HostRegexTableLoadBalancer might work in an environment like 
kubernetes, I don't think it's user friendly. You can pass the kubernetes pod 
ip address to the Accumulo server process using the `-a` argument, but the ip 
address for the pod is based on the the range of ip addresses assigned to the 
host. When deploying Accumulo in this environment and using the 
HostRegexTableLoadBalancer the user would need to:
   
     1. Create different yaml descriptor files for the Accumulo processes to 
assign different groups to different nodes using kubernetes `nodeSelector` type 
in the yaml file.
     2. Find the IP range for all of the nodes involved
     3. For each table that they want to configure, create a regex using the IP 
ranges of the hosts involved.
     
   If we have the ability to assign group labels to TabletServers (like we do 
for ScanServers, and "queues" for Compactors), then for a kubernetes deployment 
the user has to:
   
     1. Create different yaml descriptor files for the Accumulo processes to 
assign different groups
     2. Create a load balancer that balances tables using the groups (a 
variation of the HostRegexTableLoadBalancer)
     3. Configure this new balancer, assigning groups to tables.
     
   Then, the kubernetes administrator can scale the deployments of a particular 
group as needed without worrying about the node's IP address. In a commercial 
cloud environment, I can imagine that node IP addresses may change over time 
which could be really burdensome.
   
   I have been working on a solution for this, I should be able to put it up 
today for comments.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to