Ingress (Kubernetes)
Using the Istio Gateway, rather than Ingress, is recommended to make use of the full feature set that Istio offers, such as rich traffic management and security features.
Follow the instructions in the and Determining the ingress IP and ports sections of the .
A Kubernetes Ingress Resources exposes HTTP and HTTPS routes from outside the cluster to services within the cluster.
Let’s see how you can configure a on port 80 for HTTP traffic.
Create an Istio
Gateway
:The
kubernetes.io/ingress.class
annotation is required to tell the Istio gateway controller that it should handle thisIngress
, otherwise it will be ignored.Access the httpbin service using curl:
Note that you use the
-H
flag to set the Host HTTP header to “httpbin.example.com”. This is needed because theIngress
is configured to handle “httpbin.example.com”, but in your test environment you have no DNS binding for that host and are simply sending your request to the ingress IP.
Ingress
supports . This is supported by Istio, but the referenced must exist in the namespace of the istio-ingressgateway
deployment (typically istio-system
). cert-manager can be used to generate these certificates.
By default, Istio will treat paths as exact matches, unless they end in /*
or .*
, in which case they will become prefix matches. Other regular expressions are not supported.
In Kubernetes 1.18, a new field, pathType
, was added. This allows explicitly declaring a path as Exact
or .
In Kubernetes 1.18, a new resource, IngressClass
, was added, replacing the kubernetes.io/ingress.class
annotation on the Ingress
resource. If you are using this resource, you will need to set the controller
field to istio.io/ingress-controller
. For example:
Delete the Ingress
configuration, and shutdown the service:
Configure the IBM Cloud Kubernetes Service Application Load Balancer to direct traffic to the Istio Ingress gateway with mutual TLS.
Configure Istio ingress gateway to act as a proxy for external services.
Deploy a Custom Ingress Gateway Using Cert-Manager
Describes how to deploy a custom ingress gateway using cert-manager manually.
Describes how to configure Istio ingress with a network load balancer on AWS.
Configuring Gateway Network Topology (Development)
How to configure gateway network topology (Development).