From a49f0202c1a5bbe8da5dab126f041bcd3a541233 Mon Sep 17 00:00:00 2001 From: Paul Wright Date: Wed, 16 Oct 2024 14:51:58 +0100 Subject: [PATCH 1/2] document nginx ingress (skupper-440) --- kubernetes/ingress.adoc | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 kubernetes/ingress.adoc diff --git a/kubernetes/ingress.adoc b/kubernetes/ingress.adoc new file mode 100644 index 0000000..ffbb8c7 --- /dev/null +++ b/kubernetes/ingress.adoc @@ -0,0 +1,36 @@ +include::../partials/attributes.adoc[] +// Type: concept +[id="understanding-ingress"] += Understanding ingress + +When you create a site that can be linked to, you need to enable ingress on that site. +By default, ingress is enabled, however you can disable it or set it to use a specific ingress type. + +By default, the ingress type is set to: + +* `route` if available (OpenShift) +* `loadbalancer` + +Other options include: + +* `none` useful if you do not need to link to the current site. +* `nodeport` +* `nginx-ingress-v1` +* `contour-http-proxy` + +You can set the ingress type using the CLI when creating the site `skupper init --ingress ` or by setting the type in your site YAML, for example to disable ingress: + +[source, bash] +---- +apiVersion: v1 +kind: ConfigMap +metadata: + name: skupper-site +data: + name: my-site + ingress: "none" +---- + +If the default ingress is not suitable, an alternative is `nginx-ingress-v1`. +Nginx uses Server Name Indication (SNI) to identify connection targets, which eliminates the need for assigning separate IP addresses as required by `loadbalancer`. + From 0584657cc9f2168da34dc3180abc30106fb863df Mon Sep 17 00:00:00 2001 From: Paul Wright Date: Thu, 17 Oct 2024 12:19:15 +0100 Subject: [PATCH 2/2] update based on feedback --- cli/index.adoc | 2 ++ kubernetes/ingress.adoc | 1 + 2 files changed, 3 insertions(+) diff --git a/cli/index.adoc b/cli/index.adoc index 916d1ec..ce471ac 100644 --- a/cli/index.adoc +++ b/cli/index.adoc @@ -452,6 +452,8 @@ include::./single-logical-service.adoc[leveloffset=0] include::./protocols.adoc[leveloffset=0] +include::../kubernetes/ingress.adoc[leveloffset=1] + // Type: reference [id="cli-global-options"] == CLI options diff --git a/kubernetes/ingress.adoc b/kubernetes/ingress.adoc index ffbb8c7..b3f4a81 100644 --- a/kubernetes/ingress.adoc +++ b/kubernetes/ingress.adoc @@ -34,3 +34,4 @@ data: If the default ingress is not suitable, an alternative is `nginx-ingress-v1`. Nginx uses Server Name Indication (SNI) to identify connection targets, which eliminates the need for assigning separate IP addresses as required by `loadbalancer`. +NOTE: When using `nginx-ingress-v1` you must enable SSL Passthrough as described in link:https://kubernetes.github.io/ingress-nginx/user-guide/tls/#ssl-passthrough[Ingress-Nginx Controller documentation].