ingressClass.enabled: true
ingressClass.name: "{releaseName}-{namespace}"
ingressClass.setAsDefault: false
Configure Flex Gateway as an Ingress Controller in Local Mode
For Kubernetes deployments in Local Mode, Flex Gateway typically acts as an ingress controller that manages external access to your Kubernetes cluster.
By default, Flex Gateways deployed on Kubernetes in Local Mode are configured as ingress controllers and can consume Ingress resources. The ingress controller configuration is defined in the IngressClass resource parameters in the Flex Gateway Helm chart.
In Kubernetes terminology, IngressClass resources configure a gateway as an ingress controller, and Ingress resources configure a routing between the ingress controller and the Kubernetes services it controls. For a detailed explanation of Kubernetes IngressClass resources and Ingress resources, see Kubernetes Ingress.
In the Helm chart, you can edit the IngressClass configuration or disable the ingress controller functionality.
Ingress Class Parameters
The Helm chart includes the following default IngressClass parameters and values:
Parameter |
Description |
Possible values |
|
Enables Flex Gateway as an |
|
|
The name of the |
Any string |
|
Sets Flex Gateway as the default |
|
Setting ingressClass.setAsDefault: true defines the Flex Gateway instance as the default IngressClass resource for the cluster. The default IngressClass is the default ingress controller for all Ingress resources you create in the cluster.
If there is no default IngressClass, or if the default IngressClass resource shouldn’t be the ingress controller for a specific resource, you must manually define the ingress controller in the Ingress resource.
You can modify the default IngressClass parameters during or after the initial installation of the Helm chart. For more information about how to modify a Helm chart, see Update Pod Settings for a Flex Gateway Deployment Through a Helm Chart
Creating Ingress Resources
After you install a Helm chart into a namespace, you can verify your new IngressClass resource by running the following command:
kubectl get ingressclasses
To create an ingress routing:
-
Define the new API as a Kubernetes Service.
For more information about Kubernetes Service definitions, see Defining a Service. -
Using
kubectl apply, create anIngressresource to define routing rules between theIngressClassFlex Gateway and the new Kubernetes Service:cat <<EOF | kubectl apply -f - --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: <metadata-name> annotations: flex-gateway.ingress.kubernetes.io/api-instance: <api-instance-name>.<namespace> spec: ingressClassName: <ingress-class-name> rules: - http: ... EOFThe
annotationsfield value must match the API instance name and namespace specified when the API was defined.Omit the
ingressClassNamefield if the gateway instance is configured as the default ingress controller.For more information about
Ingressresources, see Kubernetes Ingress.



