Skip to content

Add concepts page on service exposition #398

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 9 commits into from
Apr 25, 2023
Merged
3 changes: 2 additions & 1 deletion modules/concepts/nav.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
* xref:concepts:index.adoc[]
** xref:roles-and-role-groups.adoc[]
** xref:service-exposition.adoc[]
** xref:service_discovery.adoc[]
** xref:logging.adoc[]
** xref:authentication.adoc[]
Expand All @@ -10,4 +11,4 @@
** xref:s3.adoc[]
** xref:tls_server_verification.adoc[]
** xref:pod_placement.adoc[]
** xref:cluster_operations.adoc[]
** xref:cluster_operations.adoc[]
16 changes: 16 additions & 0 deletions modules/concepts/pages/service-exposition.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
= Service exposition

For some deployed products it is sufficient to be only accessible within the Kubernetes cluster, while others need to be accessible from outside the Kubernetes cluster.
This can e.g. be from your internal corporate network when running on bare metal, your internal network in your cloud provider or the Internet.

As of the release 23.4, the Stackable Operators create Kubernetes Service objects to expose the deployed product.
For security reasons, the Services default to the `ClusterIP` type in order to avoid exposing anything to the public.
You can specify the type within the custom resource field `spec.clusterConfig.listenerClass` by setting it to either:

* `cluster-internal` => Use `ClusterIP` (default)
* `external-unstable` => Use `NodePort`
* `external-stable` => Use `LoadBalancer`

Please note that as of the release 23.4 not all operators support all the mentioned `Service` types.

In a future release, the `ListenerClass` provided by the xref:listener-operator:index.adoc[listener-operator] will be supported to make things more flexible.