http-add-on icon indicating copy to clipboard operation
http-add-on copied to clipboard

Add service mesh / GAMMA project based scaling

Open arschles opened this issue 4 years ago • 15 comments

The interceptor works with the scaler to provide KEDA with the HTTP queue size, which KEDA in turn uses to scale the app. That arrangement lets a user submit a single HTTPScaledObject and have the operator create all the moving pieces required (interceptor, scaler, etc...). We should, however, support service meshes, or really any HTTP server that can (a) route traffic from outside the cluster into a pod (the app) and (b) emit SMI-compatible metrics.

Note: kedacore/keda has discussed consuming SMI metrics as well in https://github.com/kedacore/keda/issues/615. This is a specific use case for consuming those metrics, but if KEDA core doesn't support SMI when we implement SMI support in the external scaler, it could be a "test drive" for building the same functionality into core

arschles avatar Jan 14 '21 00:01 arschles

Service meshes we should consider supporting:

  • Gloo
  • LinkerD
  • Istio
  • Kong
  • Kuma

Others??

arschles avatar Feb 12 '21 20:02 arschles

We should only support SMI spec which is an open standard, the others are out of luck ;)

tomkerkhove avatar Feb 12 '21 20:02 tomkerkhove

Ah yes, you're right. I just meant that we should look into those service meshes (I have no idea which ones support SMI at the moment) and, if they do, test our integration against them, include them in our docs, and so forth...

arschles avatar Feb 12 '21 21:02 arschles

No problem! You can see all supported service meshes on https://smi-spec.io/

tomkerkhove avatar Feb 12 '21 21:02 tomkerkhove

AWS App Mesh

vitarkah avatar Feb 16 '21 18:02 vitarkah

As part of this work, we need to add documentation - including updating the architecture diagram - explaining how service meshes integrate with the HTTP add on

arschles avatar Mar 17 '21 16:03 arschles

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Dec 11 '21 01:12 stale[bot]

Hi there, I am curious about the status of this ticket. The roadmap seems to indicate that it's still in the works, but looks like no one is assigned.

As it stands, is it possible at all to use the http add-on with in a cluster that has service mesh?

ajonnavi avatar Sep 27 '23 16:09 ajonnavi

If traffic goes through it, yes. But there is no integration

tomkerkhove avatar Sep 28 '23 06:09 tomkerkhove

But there is no integration

What does that mean? We want to use this for a specific usecase - we have dev deployments that we want to scale to 0 when there is no traffic, and activate and scale back up to previous value when traffic starts again (usually 1 pod), but we also use a service mesh (Istio) and I was wondering how the traffic would flow in that case since envoy already exists as a proxy.

Would this work in current form?

ajonnavi avatar Sep 28 '23 22:09 ajonnavi

Maybe also consider https://traefik.io/traefik-mesh/ ?

nvcnvn avatar Sep 30 '23 08:09 nvcnvn

Does it have a direct integration or built-in support? Ripping up a fully functional service mesh and replacing it with a new one is a very costly endeavor.

ajonnavi avatar Oct 03 '23 00:10 ajonnavi

The idea is that the used service mesh technology does not have to be changed and we just plug in.

Given the range of service meshes, we should rely on GAMMA

tomkerkhove avatar Oct 04 '23 09:10 tomkerkhove

oh, sorry, a little confuse from my side, I think the traefik mesh compatible with GAMMA but turn out it only follow SMI (but I was thinking that SMI and GAMMA somewhat closed to each other also but it is not).

nvcnvn avatar Oct 05 '23 11:10 nvcnvn

Did someone get this working in the current form in service mesh? We are using Istio and I tried deploying the addon with the side-car injection enabled. The controller runs without problems but external scaler and interceptor pods do not come up due to failing readiness and liveness checks.

pasi-romo-idealo avatar Apr 27 '24 06:04 pasi-romo-idealo