Consul API gateway configuration overview
This topic provides an overview of the configuration items you can use to create API gateways, configure listeners, define routes, and apply additional resources that may be necessary to operate Consul API gateways in your environment.
Configurations for virtual machines
Apply the following configuration items if your network runs on virtual machines nodes:
Configuration | Description | Usage |
---|---|---|
api-gateway | Defines the main infrastructure resource for declaring an API gateway and listeners on the gateway. | Deploy API gateway listeners on virtual machines |
http-route | Enables HTTP traffic to reach services in the mesh from a listener on the gateway. | |
tcp-route | Enables TCP traffic to reach services in the mesh from a listener on the gateway. | Define routes on virtual machines |
file-system-certificate | Provides gateway with a CA certificate so that requests between the user and the gateway endpoint are encrypted. | Encrypt API gateway traffic on virtual machines |
inline-certificate | Provides gateway with a CA certificate so that requests between the user and the gateway endpoint are encrypted. | Encrypt API gateway traffic on virtual machines |
service-intentions | Specifies traffic communication rules between services in the mesh. Intentions also enforce rules for service-to-service traffic routed through a Consul API gateway. | General configuration for securing a service mesh |
Configurations for Kubernetes
Apply the following configuration items if your network runs on Kubernetes:
Configuration | Description | Usage |
---|---|---|
Gateway | Defines the main infrastructure resource for declaring an API gateway and listeners on the gateway. It also specifies the name of the GatewayClass . | Deploy listeners on Kubernetes |
GatewayClass | Defines a class of gateway resources used as a template for creating gateways. The default gateway class is consul and is suitable for most API gateway implementations. | Deploy listeners on Kubernetes |
GatewayClassConfig | Describes additional gateway-related configuration parameters for the GatewayClass resource. | Deploy listeners on Kubernetes |
Routes | Specifies paths from the gateway listener to backend services. | |
MeshServices | Enables routes to reference services in Consul. | Route traffic to peered services in Kubernetes |
ServiceIntentions | Specifies traffic communication rules between services in the mesh. Intentions also enforce rules for service-to-service traffic routed through a Consul API gateway. | General configuration for securing a service mesh |