I am using consul to build a service-mesh environment.
It was decided to build an api-gateway instead of an ingress-gateway for all tls and mtls, and deployment and routing with services were successful in the kubernetes environment.
The vm also has a service, and in the case of the vm, I’m looking for a guide on api-gateway deployment, but I haven’t found it yet.
Configuration of the api-gateway is necessary because there are cases in which kubernetes needs to receive requests directly from the service in the vm without going through the api-gateway.
Does anyone have a guide for building api-gateway in a vm environment?
Consul API Gateway currently only supports being deployed into a Kubernetes environment, but we’re currently exploring how to extend support to VM runtimes in the future.
In the meantime, one option for integrating VM services with a k8s-hosted Consul API Gateway is to use a MeshService backendRef to direct traffic from the gateway to a VM-based service in the mesh.
I’m not quite sure if that addresses your use case of “kubernetes needs to receive requests directly from the service in the vm without going through the api-gateway”, but that may be possible by just setting the services registered by consul-k8s in the Kubernetes cluster as explicit upstreams of the VM service (without any specific API Gateway integration or configuration), similar to the approach described in Secure Service Mesh Communication Across Kubernetes Clusters | Consul | HashiCorp Developer