-
Notifications
You must be signed in to change notification settings - Fork 387
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add k8s annotations to the Envoy Proxy Service #377
Comments
assign, quite busy recently, will work on this tomorrow. |
@Xunzhuo thanks for offering to help with this issue. Since this is a "Backlog" milestone issue, I suggest working on RC-2 issues since they're more pressing. |
IMHO this issue is very different from #368. #368 was required because EG needs a mechanism to correlate a Gateway with its managed infra resources, e.g. Service. If the managed resources were in the same ns as the Gateway, an ownerReference could be used and the owning ns/name label would be unneeded. I'm not sure if passing annotations to the Service is the best approach for solving this problem. I think it can be error-prone as opposed to creating an API. For example, what if LoadBalancer annotations are specified for an internal (ClusterIP) Service or GCP-specific LoadBalancer annotations are specified when EG runs in AWS? Thoughts @LukeShu @skriss @youngnick @AliceProxy @Xunzhuo? |
I have a slightly different use case. I would like to have the Gateway annotate its LoadBalancer service in order to register with external-dns when the gateway is created. Right now I can manually annotate the service after it is created, but then any time a change is made to the Gateway the annotation is removed from the Service. So there is two ways that this can be approached. Either A) The gateway manages the annotations that are put onto the Service object or B) the Gateway leaves any existing annotations in place when making changes to the Gateway. "kubectl annotate service envoy-default-eg-64656661 -n envoy-gateway-system "external-dns.alpha.kubernetes.io/hostname=myhostname.com" will annotate the service and external-dns will see this and register the DNS name with the provider. |
@ericgoode External DNS supports Gateway API, so I would expect it to work natively with EG. Have you tested the integration yet? |
Thank you for pointing this out. I have tested it and it works. My use case listed above for this issue is void. |
We currently have infrastructure defined in the |
This PR allows the user to add annotations to the managed Envoy service and well as the Envoy pods using the EnvoyProxy resource * Fixes envoyproxy#377 * Closes envoyproxy#648 Signed-off-by: Arko Dasgupta <arko@tetrate.io>
* Allow user to configure annotations on infra This PR allows the user to add annotations to the managed Envoy service and well as the Envoy pods using the EnvoyProxy resource * Fixes #377 * Closes #648 Signed-off-by: Arko Dasgupta <arko@tetrate.io> * fix spelling Signed-off-by: Arko Dasgupta <arko@tetrate.io> * elaborate default Signed-off-by: Arko Dasgupta <arko@tetrate.io> --------- Signed-off-by: Arko Dasgupta <arko@tetrate.io>
Description:
Extend the Envoy Proxy API to allow a user to add more k8s annotations to the Envoy Proxy service.
Relates to #368 (comment)
[optional Relevant Links:]
The text was updated successfully, but these errors were encountered: