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
Copy file name to clipboardExpand all lines: docs/modules/listener-operator/pages/listener.adoc
+5-3Lines changed: 5 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,15 @@
4
4
:fn-kubernetes-service: footnote:[It is actually implemented using them, but don't rely on that.]
5
5
6
6
A Listener object represents a single exposed (possibly) load-balanced service that clients can connect to.
7
-
It can be thought of as the Stackable Data Platform equivalent of a Kubernetes https://kubernetes.io/docs/concepts/services-networking/service/[Service].{fn-kubernetes-service}
7
+
It can be thought of as the Stackable Data Platform equivalent of a Kubernetes https://kubernetes.io/docs/concepts/services-networking/service/[Service,window=_blank].{fn-kubernetes-service}
8
8
9
9
The mechanism for the service is controlled by the xref:listenerclass.adoc[].
10
-
This way, which a single Listener definition can be reused in different clusters, expressing the same _intent_ regardless of the Kubernetes distribution or cloud provider's limitations.
10
+
This way, a single Listener definition can be reused in different clusters, expressing the same _intent_ regardless of the Kubernetes distribution or cloud provider's limitations.
11
11
12
12
Listeners only direct traffic to Pods that also mount them as a xref:volume.adoc[volume].
13
13
The volume allows the operator to xref:#pinning[pin] the Pod to a specific Node, and provides an API for workloads to retrieve their external address.
14
14
15
+
[#address-api]
15
16
== Address API
16
17
17
18
NOTE: The CRD-based API is intended for external clients that need to retrieve the address.
@@ -23,7 +24,7 @@ Compared to Kubernetes' Services, this list is provided _regardless_ of the type
23
24
NOTE: All addresses may not be able to reach all backing Pods. Clients should connect to a _random_ address in the list, not just the first one.
24
25
25
26
Ports may be remapped from the Service definition.
26
-
Never assume that the exposed on an address will match your declared port.
27
+
Never assume that the exposed port on an address will match your declared port.
27
28
Instead, read the port numbers from `.ports.\{portname\}`.
28
29
Otherwise, it will break when using NodePort services.
29
30
@@ -36,6 +37,7 @@ These volumes, in turn, can automatically be created for each replica using eith
36
37
- StatefulSet's `volumeClaimTemplates` (for long-lived listeners that will be kept across replica restarts and upgrades), or
37
38
- Pod's `volumes[].ephemeral` (for temporary listeners that are deleted when their corresponding Pod is deleted)
38
39
40
+
[#pinning]
39
41
== Pinning
40
42
41
43
When mounting a Listener volume, it will be "pinned" to that node if the xref:listenerclass.adoc[] uses a strategy that depends on the node that the workload is running on.
0 commit comments