Using Target Servers when the backend is on kubernetes

My APIGEE installation is on regular VMs, but some of my "Target Servers" are microservices that are running on k8s, and are exposed with ingress.

Usually, the target url is : https://server-name:port/context/resource

But Ingress expose the url as : https://operation-name.servername-env/resource

The name of the operation and the env is part of the name of the server used by ingress.

What are the best practices to work with ingress endpoints with APIGEE ?

1 4 262
4 REPLIES 4

You'd either need different target servers with different operations (and chose among them with RouteRules inside your proxies) or use dynamic target url setting with JS for something like this.

  1. Using a different target server for each service in k8s, is ok, but there is a limit of 500 target servers for an environment, which is not enough
  2. Using dynamic target url - Where can I keep/save the target urls? 
    • Cannot Use proxy level kvm since there is a limit of 100 kvm
    • Cannot Use environment level kvm, since updating a kvm very frequently (for each proxy) might corrupt the kvm 

The limit of 100 is 100 KVMs - ie, 100 maps containing both keys and values. Each KVM can have multiple entries (limit 5 million total across all KVMs per org) so I think a single KVM containing targets is probably what you want here, but I am concerned by "updating a kvm very frequently" - how frequently are we talking here? multiple times a second?

Hi @marcusdoron 

Have you tried Target Servers under Admin>Environments?

thanks, 

regards,