Repository navigation
Expose master + regionservers ui via NodePort Service #239
Copy link
Copy link
Closed
Labels
Description
Currently stackablectl shows the following services:
stackablectl services list
PRODUCT NAME NAMESPACE ENDPOINTS EXTRA INFOS
hbase hbase default regionserver 172.18.0.3:30025
ui http://172.18.0.3:30164
metrics 172.18.0.3:30447
hdfs hdfs default
zookeeper zookeeper default zk 172.18.0.5:31384
There are clearly some services missing.
A task for refinement is to research what UIs should be accessible. We already know that there should be one endpoint per RegionServer. All RegionServers must be reachable individually.
Additional information
k get svc | grep hbase
hbase NodePort 10.96.252.49 <none> 16020:30025/TCP,16030:30164/TCP,8081:30447/TCP 11m
hbase-master-default ClusterIP None <none> 16000/TCP,16010/TCP,8081/TCP 11m
hbase-regionserver-default ClusterIP None <none> 16020/TCP,16030/TCP,8081/TCP 11m
k describe svc hbase hbase-master-default hbase-regionserver-default
Name: hbase
Namespace: default
Labels: app.kubernetes.io/component=regionserver
app.kubernetes.io/instance=hbase
app.kubernetes.io/managed-by=hbase-operator
app.kubernetes.io/name=hbase
app.kubernetes.io/role-group=global
app.kubernetes.io/version=2.4.12-stackable0.2.0
Annotations: <none>
Selector: app.kubernetes.io/component=regionserver,app.kubernetes.io/instance=hbase,app.kubernetes.io/name=hbase
Type: NodePort
IP Family Policy: SingleStack
IP Families: IPv4
IP: 10.96.252.49
IPs: 10.96.252.49
Port: regionserver 16020/TCP
TargetPort: 16020/TCP
NodePort: regionserver 30025/TCP
Endpoints: 10.244.1.79:16020,10.244.3.88:16020
Port: ui 16030/TCP
TargetPort: 16030/TCP
NodePort: ui 30164/TCP
Endpoints: 10.244.1.79:16030,10.244.3.88:16030
Port: metrics 8081/TCP
TargetPort: 8081/TCP
NodePort: metrics 30447/TCP
Endpoints: 10.244.1.79:8081,10.244.3.88:8081
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
Name: hbase-master-default
Namespace: default
Labels: app.kubernetes.io/component=master
app.kubernetes.io/instance=hbase
app.kubernetes.io/managed-by=hbase-operator
app.kubernetes.io/name=hbase
app.kubernetes.io/role-group=default
app.kubernetes.io/version=2.4.12-stackable0.2.0
prometheus.io/scrape=true
Annotations: <none>
Selector: app.kubernetes.io/component=master,app.kubernetes.io/instance=hbase,app.kubernetes.io/name=hbase,app.kubernetes.io/role-group=default
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: None
IPs: None
Port: master 16000/TCP
TargetPort: 16000/TCP
Endpoints: 10.244.3.87:16000
Port: ui 16010/TCP
TargetPort: 16010/TCP
Endpoints: 10.244.3.87:16010
Port: metrics 8081/TCP
TargetPort: 8081/TCP
Endpoints: 10.244.3.87:8081
Session Affinity: None
Events: <none>
Name: hbase-regionserver-default
Namespace: default
Labels: app.kubernetes.io/component=regionserver
app.kubernetes.io/instance=hbase
app.kubernetes.io/managed-by=hbase-operator
app.kubernetes.io/name=hbase
app.kubernetes.io/role-group=default
app.kubernetes.io/version=2.4.12-stackable0.2.0
prometheus.io/scrape=true
Annotations: <none>
Selector: app.kubernetes.io/component=regionserver,app.kubernetes.io/instance=hbase,app.kubernetes.io/name=hbase,app.kubernetes.io/role-group=default
Type: ClusterIP
IP Family Policy: SingleStack
IP Families: IPv4
IP: None
IPs: None
Port: regionserver 16020/TCP
TargetPort: 16020/TCP
Endpoints: 10.244.1.79:16020,10.244.3.88:16020
Port: ui 16030/TCP
TargetPort: 16030/TCP
Endpoints: 10.244.1.79:16030,10.244.3.88:16030
Port: metrics 8081/TCP
TargetPort: 8081/TCP
Endpoints: 10.244.1.79:8081,10.244.3.88:8081
Session Affinity: None
Events: <none>
Reactions are currently unavailable
Activity
lfrancke commentedon Dec 8, 2022
Actually: There should be one endpoint per RegionServer. All RegionServers must be reachable individually
[-]Expose master web-ui via NodePort Service[/-][+]Expose master + regionservers ui via NodePort Service[/+]sbernauer commentedon Dec 9, 2022
Updated ticket. Moved researching what is needed to refinement (as I'm no hbase expert, feel free to put requirements in)
chaicesan commentedon Feb 20, 2023
Any updates on this ticket? If not then what updates would be involved to make this happen?
lfrancke commentedon Feb 21, 2023
Hi @chaicesan thanks for your interest, unfortunately the answer is "it's complicated" :(
We need some preliminary work in our framework for this which we have scheduled for around April and only then can we get to this.
chaicesan commentedon Mar 2, 2023
Thanks for your response @lfrancke. Could I also get some information about the stackable project and how it's run? Is all communication via github issues or is there a DM platform like slack available too (just a preference for me)? This is a project that I am looking into and experimenting with a lot and I often have questions and don't necessarily want to create an issue for each one.
Jimvin commentedon Mar 2, 2023
I agree discussion often makes more sense outside of GitHub issues and we have recently created a Stackable Community Discord server. You can follow this invite link to join the server - https://discord.gg/7jdYQbt8
lfrancke commentedon Mar 8, 2023
And if you have any other questions just reach out to info@stackable.tech and one of us will get back to you
nightkr commentedon Jan 29, 2025
The connection info it writes to ZK also only seems to contain the cluster-internal address, even when using listenerclass: external-unstable.
adwk67 commentedon Mar 28, 2025
Closed in favour of #618