Running Concurrent Major versions of an API with google endpoints in Kubernetes

7/19/2017

I'm struggling to find any documentation relating to the configuration of Extensible Service Proxy and Google Endpoints relating to the correct pattern for deploying multiple versions of an API.

Brief overview - I have docker building out two releases of an API. they run in separate containers.

I currently have a kubernetes pod with ESP and APIv1.

Really I want to run a pod with ESP+APIv1 and a pod with ESP+APIv2 but I can work out how this would work - my external IP and DNS would all point at one pod - Endpoints doesn't seem to be contacted until the user gets to the ESP service, is there some mechanism for passing to another ESP instance - I'm clearly missing something here.

OR - In order to run multiple versions should I be running a pod with ESP, APIv1, and APIv2 in it? That doesn't seem ideal from a scalability or management point of view.

-- Dan
google-cloud-endpoints
kubernetes

1 Answer

7/19/2017

Unless APIv1 and APIv2 are disjoint, you can probably implement methods supporting both versions in the same dockerized app. This approach is explained in more detail here. https://cloud.google.com/endpoints/docs/lifecycle-management

-- A.C.
Source: StackOverflow