Skip to content

Commit cc34060

Browse files
docs: Mention ListenerClass presets in installation guide (#348)
* docs: Mention ListenerClass presets in installation guide * Switch to mermaid * Apply suggestions from code review Co-authored-by: Malte Sander <malte.sander.it@gmail.com> --------- Co-authored-by: Malte Sander <malte.sander.it@gmail.com>
1 parent c8bccc1 commit cc34060

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

docs/modules/listener-operator/pages/installation.adoc

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,37 @@ Resource sizing depends on cluster type(s), usage and scope, but as a starting p
1818
* 0.2 cores (e.g. i5 or similar)
1919
* 256MB RAM
2020

21+
== ListenerClass presets
22+
23+
When installing the listener-operator you need to choose a ListenerClass preset (or use the default one).
24+
A ListenerClass controls two important aspects:
25+
26+
* Service type: Determines whether ClusterIP, NodePort or LoadBalancer is used
27+
* Pinning: When using NodePorts (and only then) if pinning is enabled, the Pods are bound to a specific Kubernetes node. This allows the Pods to always start on the same node and keep a stable endpoint without the need for an (e.g. expensive) LoadBalancer.
28+
However, this pinning can cause problems during node rotation (e.g. on a regular basis), as Pod will be stuck in `Pending` when the node they are pinned to is gone.
29+
30+
Use the following decision tree to decide on the ListenerClass preset to use:
31+
32+
[mermaid, width=100%]
33+
....
34+
flowchart LR
35+
LB{LoadBalancer supported?}
36+
LB -->|yes| ephermal-nodes[Use ephermal-nodes]
37+
LB -->|no| node-rotation{Nodes regularly rotated?}
38+
39+
node-rotation -->|yes| complicated[Use stable-nodes to prefer NodePort<br> over LoadBalancers.<br> However, don't use the<br> external-stable ListenerClass at all,<br> use external-unstable instead]
40+
node-rotation -->|no| stable-nodes[Use stable-nodes]
41+
....
42+
43+
== stackablectl
44+
45+
The recommended way to install the operator is using `stackablectl`.
46+
Starting with 1.2.0 it automatically detects `kind` and `k3s` cluster and uses `stable-nodes`
47+
2148
== Helm
22-
Helm allows you to download and deploy Stackable operators on Kubernetes and is by far the easiest installation method.
49+
50+
As `stackablectl` internally invokes Helm, you can absolutely install the operator only using Helm.
51+
Helm allows you to download and deploy Stackable operators on Kubernetes.
2352

2453
NOTE: `helm repo` subcommands are not supported for OCI registries. The operators are installed directly, without adding the Helm Chart repository first.
2554

0 commit comments

Comments
 (0)