» Technical Specifications
This topic describes the technical specifications associated with using Consul API Gateway.
» Requirements
Verify that your environment meets the following requirements prior to using Consul API Gateway.
» Datacenter Requirements
Your datacenter must meet the following requirements prior to configuring the Consul API Gateway:
- Kubernetes 1.21+
kubectl
1.21+- Consul 1.12.0+
- HashiCorp Consul Helm chart 0.43.0+
- Consul Service Mesh must be deployed on the Kubernetes cluster that API Gateway is deployed on.
- Envoy: Envoy proxy support is determined by the Consul version deployed. Refer to Envoy Integration for details.
» TCP Port Requirements
The following table describes the TCP port requirements for each component of the API Gateway.
Port | Description | Component |
---|---|---|
9090 | Secret discovery service (SDS) | Gateway controller pod Gateway instance pod |
20000 | Kubernetes readiness probe | Gateway instance pod |
Configurable | Port for scraping Prometheus metrics. Disabled by default. | Gateway controller pod |
» Consul Server Deployments
- Consul Editions supported: OSS and Enterprise
- Supported Consul Server deployment types:
- Self-Managed
- HCP Consul
» Deployment Environments
Consul API Gateway can be deployed in the following Kubernetes-based environments:
- Generic Kubernetes
- AWS Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Azure Kubernetes Service (AKS)
» Kubernetes Gateway API Specification - Supported Versions
See the Release Notes for the version of Consul API Gateway being used.
» Resource Allocations
The following resources are allocated for each component of the API Gateway.
» Gateway Controller Pod
- CPU: None. Either the namespace or cluster default is allocated, depending on the Kubernetes cluster configuration.
- Memory: None. Either the the namespace or cluster default is allocated, depending on the Kubernetes cluster configuration.
» Gateway Instance Pod
- CPU: None. Either the namespace or cluster default is allocated, depending on the Kubernetes cluster configuration.
- Memory: None. Either the namespace or cluster default is allocated, depending on the Kubernetes cluster configuration.