extensions lib: Consider dropping EnsureKubeAPIServerService
as it is no longer required after ManagedIstio
/APIServerSNI
is unconditionally enabled
#9755
Labels
area/scalability
Scalability related
kind/cleanup
Something that is not needed anymore and can be cleaned up
How to categorize this issue?
/area scalability
/kind cleanup
What would you like to be added:
Looking into #9020 and the generic Mutator I see that the
EnsureKubeAPIServerService
func from theEnsurer
interface is not implemented for any of the provider extensions under github.com/gardener.This is the only mutation for an object of kind Service:
gardener/extensions/pkg/webhook/controlplane/genericmutator/mutator.go
Lines 128 to 143 in 10d7578
In the times before
ManagedIstio
/APIServerSNI
when the kube-apiserver Service was of typeLoadBalancer
this extension point was used to add load balancer specific annotations to the kube-apiserver Service. Examples from the past:After
ManagedIstio
/APIServerSNI
are unconditionally enabled, these funcs are removed.Today, these extension webhooks mutate Services but actually don't do anything in this mutation.
For example for provider-aws the controlplaneexposure webhook looks like:
while the webhook only needs to mutate ETCDs: https://github.com/gardener/gardener-extension-provider-aws/blob/aaf1ad53dfb45a14c63662f36611bb239f32bc2d/pkg/webhook/controlplaneexposure/ensurer.go#L35-L52
This means that every Service/Deployment create/update operation for Service is intercepted by the provider-aws webhook and the provider-aws webhook does not perform any mutation these Services/Deployments.
In cases where the ManagedSeed control plane and data plane are located in different continents, the latency of such webhook calls can be >100ms.
Istio Service annotations can be applied via the Seed spec:
gardener/example/50-seed.yaml
Lines 69 to 77 in 58438a7
Why is this needed:
See above.
The text was updated successfully, but these errors were encountered: