edgemesh icon indicating copy to clipboard operation
edgemesh copied to clipboard

Ability to invert service filter to disabled by default, setting label to service proxies

Open siredmar opened this issue 3 years ago • 3 comments

What would you like to be added/modified: I'd like a feature added that enabled the user to set the label to a specific service to get handeled by edgemesh. Right now, when edgemesh is deployed all services are intercepted by edgemesh. This leads to the situation where one has to patch several services NOT to be handeled by edgemesh.

Why is this needed: If i have 20 services running that are cloud only and 1 or 2 services that are edge only, i'd need to patch 20 services not to be handeled by edgemesh.

So the current default behavior is: Edgemesh intercepts all services accesses. Edgemesh ignores services that are labeld with service.edgemesh.kubeedge.io/service-proxy-name.

The changed behavior per configuration would be: Edgemesh intercepts only service accesses that have the label present service.edgemesh.kubeedge.io/service-proxy-name.

siredmar avatar Oct 10 '22 10:10 siredmar

This is a controversial issue. If someone have 20 services running that are edge only and 1 or 2 services that are cloud only, what to do with these users?

Poorunga avatar Oct 11 '22 06:10 Poorunga

Well, then i'd have no problem labeling those edge services. On the other hand, the current behavior breaks the whole cluster DNS if the label is not set.

siredmar avatar Oct 11 '22 07:10 siredmar

For better configuration i propose something like follows.

I'd offer this feature with a new configuration option:

  1. There is an option that tells: invert the current label behavior. I didn't find the perfect name for it yet. So let's call it invertServiceFilter for now.

1.1 invertServiceFilter: false: (default) The current behavior. All non-labeled services are handeled via edgemesh

1.2 invertServiceFilter: true: All labeled services are handeled via edgemesh

siredmar avatar Oct 11 '22 10:10 siredmar