You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
:description: Explore how Stackable uses listener-operator to expose Services.
5
+
:description: Explore how Stackable utilizes the listener-operator to expose Services.
6
6
7
7
Data products expose interfaces to the outside world.
8
8
These interfaces (whether UIs, or APIs) can be accessed by other products or by end users.
@@ -14,12 +14,12 @@ This page gives an overview over the different options for service exposition, w
14
14
== Motivation
15
15
16
16
Service exposition is such a complicated topic, that Stackable has build it's own operator for that: {listener-operator}[].
17
-
The following section explains the motivation why we wrote such an operator over just using plain regular Kubernetes Services.
17
+
The following section explains the motivation behind implementing such an operator instead of using plain regular Kubernetes Services.
18
18
19
-
=== Tools advertising their address
19
+
=== Products advertising their addresses
20
20
21
-
Some tools need to know how they are externally reachable.
22
-
This is e.g. important for HDFS, where the namenode keeps track of which datanode serves which block or Kafka (used for client bootstrapping).
21
+
Some products require information about their external accessibility.
22
+
This is e.g. important for HDFS, where the namenode keeps track of which datanode serves which block. Another case is Kafka, where it is required for client bootstrapping.
23
23
A HDFS client asks the namenode "I want to read block 42, who is serving that?", the namenode responds with "block 42 is served by <ip or hostname of some datanode>".
24
24
For that to work, the datanode needs to know it's external address on startup and tell it the namenode.
25
25
(And yes, we needed to patch Hadoop source-code for that ;))
@@ -34,7 +34,7 @@ If a tool is secured using TLS or Kerberos, it does not only need to be reachabl
34
34
== {listenerclass}[ListenerClasses]
35
35
36
36
A {listenerclass}[] describes how a product should be exposed.
37
-
Please read on {listenerclass}[it's documentation] before continuing on this page.
37
+
Please read on {listenerclass}[its documentation] before continuing on this page.
38
38
39
39
As a quick reminder, the platform ships with 3 default {listenerclass}[ListenerClasses]:
40
40
@@ -44,9 +44,9 @@ As a quick reminder, the platform ships with 3 default {listenerclass}[ListenerC
44
44
45
45
Keep in mind that you are not restricted to this list, you can configure your own custom {listenerclass}[ListenerClasses].
46
46
47
-
== Configuring the ListenerClass for a stacklet
47
+
== Configuring the ListenerClass for a Stacklet
48
48
49
-
We integrated {listener-operator}[listener-operator] into most of our products, currently only xref:opa:index.adoc[] and xref:spark-k8s:index.adoc[] are not using {listener-operator}[listener-operator].
49
+
The {listener-operator}[listener-operator] is integrated into most of the Stackable products, currently only xref:opa:index.adoc[] and xref:spark-k8s:index.adoc[] are not using {listener-operator}[listener-operator].
50
50
51
51
Most of the tools configure the {listenerclass}[] at the role level as follows:
0 commit comments