-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Listener support/external access (#450)
* Remove pod svc controller * Add listener volume * Dont deploy rolegroup Service * Deploy rolegroup services again, namenode/journalnode listeners * Advertise as pod address * Run manual tests against 3.3.4, fix børked registration keys * Use listener addresses to generate discovery * Fix datanode port for HTTPS * Use configured listenerclasses * Move listenerclass into role config * Remove useless journalnode listenerclass option * Docs * Changelog * Disabled start of test * Update CRD * Remove reference to custom image * Document namenode_listener_refs * Break out the listener volume name to a constant * Update tests/templates/kuttl/external-access/operate-on-cluster.sh Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Avoid cloning FQDN override path * Use the port name constants we already have * Re-remove redundant role argument from ContainerConfig::volumes * Bounds-check port number * Separate data volumes from listener volume * Add a comment on discovery ordering * Remove stale TODO * bash != fish * Break other volumes out of `container_log_config` * Update docs/modules/hdfs/pages/usage-guide/listenerclass.adoc Co-authored-by: Siegfried Weber <[email protected]> * Drop external access test limit range --------- Co-authored-by: Sebastian Bernauer <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Siegfried Weber <[email protected]>
- Loading branch information
1 parent
4b47b2c
commit 2d751d7
Showing
24 changed files
with
455 additions
and
297 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,18 @@ | ||
= Service exposition with ListenerClasses | ||
|
||
The Operator deploys a service called `<name>-<role>-<rolegroup>` (where `<name>` is the name of the HdfsCluster, `<role>` is the role and `<rolegroup>` the name of the role group) through which the different HDFS processes can be accessed. Unlike many other Stackable Operators, the HDFS Operator does not deploy role-level Services. | ||
The operator deploys a xref:listener-operator:listener.adoc[Listener] for each DataNode and NameNode pod. They both default to only being accessible from within the Kubernetes cluster, but this can be changed by setting `.spec.{data,name}Nodes.config.listenerClass`. | ||
|
||
These services can have either the `cluster-internal` or `external-unstable` type. `external-stable` is not supported for HDFS at the moment. Read more about the types in the xref:concepts:service-exposition.adoc[service exposition] documentation at platform level. | ||
|
||
This is how the listener class is configured: | ||
The cluster can be configured to be accessible from outside of Kubernetes like this: | ||
|
||
[source,yaml] | ||
---- | ||
spec: | ||
clusterConfig: | ||
listenerClass: cluster-internal # <1> | ||
dataNodes: | ||
config: | ||
listenerClass: external-unstable # <1> | ||
nameNodes: | ||
config: | ||
listenerClass: external-stable # <2> | ||
---- | ||
<1> The default `cluster-internal` setting. | ||
<1> DataNode listeners should prioritize having a direct connection, to minimize network transfer overhead. | ||
<2> NameNode listeners should prioritize having a stable address, since they will be baked into the client configuration. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.