Chapter 8. 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 <type>
or by setting the type in your site YAML, for example to disable ingress:
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
.
When using nginx-ingress-v1
you must enable SSL Passthrough as described in Ingress-Nginx Controller documentation.
8.1. CLI options
For a full list of options, see the Skupper Kubernetes CLI reference and Skupper Podman CLI reference documentation.
When you create a site and set logging level to trace
, you can inadvertently log sensitive information from HTTP headers.
$ skupper init --router-logging trace
By default, all skupper
commands apply to the cluster you are logged into and the current namespace. The following skupper
options allow you to override that behavior and apply to all commands:
--namespace <namespace-name>
Apply command to
<namespace-name>
. For example, if you are currently working onfrontend
namespace and want to initialize a site in thebackend
namespace:$ skupper init --namespace backend
--kubeconfig <kubeconfig-path>
-
Path to the kubeconfig file - This allows you run multiple sessions to a cluster from the same client. An alternative is to set the
KUBECONFIG
environment variable. --context <context-name>
- The kubeconfig file can contain defined contexts, and this option allows you to use those contexts.