Skip to content

ADR: Listener Operator #256

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
Sep 12, 2022
Merged
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
4a225e6
Added initial snippet
Aug 23, 2022
ddb99d4
More text
Aug 23, 2022
1c66f91
More text
Aug 23, 2022
505930d
More text
Aug 24, 2022
113439c
More text
Aug 24, 2022
1a7245b
fixed typos and formatting
Aug 25, 2022
c4b49da
Update modules/contributor/pages/adr/ADR000-WIP.adoc
fhennig Aug 31, 2022
a671c38
Update modules/contributor/pages/adr/ADR000-WIP.adoc
fhennig Aug 31, 2022
ae4f440
Added static config files problem
fhennig Aug 31, 2022
1800d2f
Added calico, ARP notes
fhennig Sep 1, 2022
399776d
Clarification
fhennig Sep 1, 2022
8a1ece9
Many updates
fhennig Sep 1, 2022
5f2c789
Many updates
fhennig Sep 1, 2022
eb60a79
Merge branch 'main' into lb-operator-adr
fhennig Sep 1, 2022
729a25b
Clarified how clients connect
fhennig Sep 5, 2022
e096191
Added note on the name
fhennig Sep 5, 2022
5ef9683
Added a more explicit notes on considered alternatives
fhennig Sep 5, 2022
14d0861
Clarification on 'single address'
fhennig Sep 5, 2022
9c69eee
Expanded context
fhennig Sep 5, 2022
34f8d66
Expanded context
fhennig Sep 5, 2022
62017af
Merge branch 'main' into lb-operator-adr
fhennig Sep 5, 2022
c0ae76a
Added authors etc.
fhennig Sep 7, 2022
e08f2fa
Merge remote-tracking branch 'refs/remotes/origin/lb-operator-adr' in…
fhennig Sep 7, 2022
4c3f98f
Update modules/contributor/pages/adr/ADR000-WIP.adoc
fhennig Sep 7, 2022
215bce8
Added CRD examples and something about node failure
fhennig Sep 7, 2022
1f323df
Added something on external IPs
fhennig Sep 7, 2022
5c4a97d
Added something about role LoadBalances
fhennig Sep 7, 2022
d1a7e8a
Renamed the file and added it to the menu aus ADR024
fhennig Sep 7, 2022
5f7d844
Update modules/contributor/pages/adr/ADR024-out-of-cluster_access.adoc
fhennig Sep 8, 2022
0af83dd
Update modules/contributor/pages/adr/ADR024-out-of-cluster_access.adoc
fhennig Sep 8, 2022
7d45d32
Update modules/contributor/pages/adr/ADR024-out-of-cluster_access.adoc
fhennig Sep 8, 2022
03f2b23
Update modules/contributor/pages/adr/ADR024-out-of-cluster_access.adoc
fhennig Sep 8, 2022
d9c7fc4
Some changes
fhennig Sep 8, 2022
85cacac
Update modules/contributor/pages/adr/ADR024-out-of-cluster_access.adoc
fhennig Sep 8, 2022
f0cdb20
Merge branch 'main' into lb-operator-adr
fhennig Sep 8, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update modules/contributor/pages/adr/ADR024-out-of-cluster_access.adoc
Co-authored-by: Teo Klestrup Röijezon <teo@nullable.se>
  • Loading branch information
fhennig and nightkr authored Sep 8, 2022
commit 85cacacda11cd47366885d9d5984fedb0cce0756
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Technical Story: https://github.com/stackabletech/listener-operator/pull/1
Eventually, the products we host in Kubernetes will need to be accessed from outside of the cluster, as this is where the client is. Our current solution for this is NodePort services. They are a simple and common solution for on-premise clusters, where nodes are reachable hosts in the local network. To get traffic into a Kubernetes cluster that runs in a public cloud, NodePorts do not work; instead LoadBalancers are the preferred solution.

While a Pods name is stable across restarts and rescheduling, the IP of the NodePort can change if a Pod is rescheduled to a different node. This means that external addresses from simple NodePorts are not stable. LoadBalancers are not tied to nodes, but they are often not available in on-prem clusters.
At the moment we deploy NodePort Services per RoleGroup; clients cannot connec to an individual Pod in a RoleGroup.
At the moment we deploy NodePort Services per RoleGroup; clients cannot connect to an individual Pod in a RoleGroup.
Some products need to be able to link to _specific_ replicas in a StatefulSet, as they shard data across process instances, across nodes. Therefore the nodes need to also be individually reachable from outside of the cluster.

Additionally, Pods currently do not know the address under which they are reachable from outside of the cluster, no matter if NodePorts or LoadBalancers are used. While this is not a problem for simple web UIs, it is a problem for products that do their own "routing", like HDFS or Kafka. These products will link to other nodes to point clients to specific data that only exists in specific nodes. These links cannot be constructed if the addresses under which nodes are reachable are not known to the product.
Expand Down