projectcontour / contour

Contour is a Kubernetes ingress controller using Envoy proxy.
https://projectcontour.io
Apache License 2.0
3.67k stars 668 forks source link

support getting LoadBalancerStatus from an Ingress (e.g. AWS ALB) or Gateway #4952

Open kahirokunn opened 1 year ago

kahirokunn commented 1 year ago

I am using Ingress + NodePortS without LoadBalancerService. Therefore, it is useful to have envoy-ingress-name and envoy-ingress-namespace. Similarly, it may be useful to have envoy-gateway-name and envoy-gateway-namespace as well, since the Gateway API is expected to become more active in the future.

related Issues: https://github.com/projectcontour/contour/issues/4951

sunjayBhatia commented 1 year ago

the envoy-service-name/namespace flags are used for identifying which LoadBalancer Service External IP to watch in order to populate the LoadBalancer IP on Ingress/HTTPProxy resources. I'm not sure how that fits in with the proposed flags you mention here?

kahirokunn commented 1 year ago

LoadBalancer Service External IP to watch in order to populate the LoadBalancer IP on Ingress/HTTPProxy resources.

@sunjayBhatia I also think that flags will be needed to identify which external IP of the Ingress (eg. aws-load-balancer-controller) to monitor.

sunjayBhatia commented 1 year ago

I'm not sure what you mean by that, can you clarify a bit? How is your ALB set up to interact with Contour and what information on which resources are you missing?

kahirokunn commented 1 year ago

@sunjayBhatia Sorry for the lack of explanation.

  1. LoadBalancer Service -> envoy is the default configuration
  2. Ingress (ingressClass alb) -> NodePort Service -> envoy is the configuration I use

The reason I use ALB (Ingress + NodePort Service) instead of NLB (LoadBalancer Service) is to use AWS WAF. https://aws.amazon.com/waf/?nc1=h_ls

Many companies have places where they would like to use AWS WAF. However, in that case, contour cannot configure the HTTPProxy status.loadbalancer. If status.loadbalancer is not set, External DNS, etc. will not work, and it will be difficult to find out to which ingress (ALB) it is connected.

sunjayBhatia commented 1 year ago

Thanks for spelling that out, makes sense

We have not put too much work into Contour's UX when using an ALB setup so we'll have to think a little about how we want to have this work

kahirokunn commented 1 year ago

I see. Contour is the best product out there, so I'd be very happy if you'd consider the ALB experience as well! Thx!!!

kahirokunn commented 1 year ago

@sunjayBhatia @skriss I want to make contour easy to use in ALB as well. If I write golang code to add envoy-ingress-name and envoy-ingress-namespace and create a PR, can you merge it? The intent of my question is to make sure that if I create this feature and it does not get merged, it will be a wasted effort.

github-actions[bot] commented 1 year ago

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

You can:

Please send feedback to the #contour channel in the Kubernetes Slack

kahirokunn commented 1 year ago

keep

skriss commented 1 year ago

xref https://github.com/projectcontour/contour/issues/2539, has some additional use cases around sourcing the LoadBalancerStatus

github-actions[bot] commented 1 year ago

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

You can:

Please send feedback to the #contour channel in the Kubernetes Slack

kahirokunn commented 1 year ago

keep

github-actions[bot] commented 11 months ago

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

You can:

Please send feedback to the #contour channel in the Kubernetes Slack

kahirokunn commented 11 months ago

Keep

github-actions[bot] commented 9 months ago

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

You can:

Please send feedback to the #contour channel in the Kubernetes Slack

kahirokunn commented 9 months ago

Keep

github-actions[bot] commented 7 months ago

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

You can:

Please send feedback to the #contour channel in the Kubernetes Slack

github-actions[bot] commented 5 months ago

The Contour project currently lacks enough contributors to adequately respond to all Issues.

This bot triages Issues according to the following rules:

You can:

Please send feedback to the #contour channel in the Kubernetes Slack

kahirokunn commented 5 months ago

keep

kahirokunn commented 5 months ago

/reopen

skriss commented 5 months ago

@hligit is working on this