We'll start by installing Emissary-ingress into your cluster.
We recommend using Helm but there are other options below to choose from.
Emissary-ingress uses Kubernetes Custom Resource Definitions (CRDs) to declaratively define its desired state. The workflow you are going to build uses a simple demo app, a
Listener CRD, and a
Mapping CRD. The
Listener CRD tells Emissary-ingress what port to listen on, and the
Mapping CRD tells Emissary-ingress how to route incoming requests by host and URL path from the edge of your cluster to Kubernetes services.
Start by creating a
Listenerresource for HTTP on port 8080:
Apply the YAML for the "Quote" service.
Generates the YAML for a
Mappingto tell Emissary-ingress to route all traffic inbound to the
/backend/path to the
- Path Matching:
- OpenAPI Docs:
Apply this YAML to your target cluster now.
- Path Matching:
Store the Emissary-ingress load balancer IP address to a local environment variable. You will use this variable to test access to your service.
Test the configuration by accessing the service through the Emissary-ingress load balancer:
Explore some of the popular tutorials on Emissary-ingress:
- Configuring Emissary-ingress communications: configure how Emissary-ingress handles communication with clients
- Intro to
Mappings: declaratively routes traffic from the edge of your cluster to a Kubernetes service
Listenerresource: configure ports, protocols, and security options for your ingress.
Hostresource: configure a hostname and TLS options for your ingress.
Emissary-ingress has a comprehensive range of features to support the requirements of any edge microservice.
To learn more about how Emissary-ingress works, read the Emissary-ingress Story.