Workers with Argo Ingress Controller and High Availability

We run a kubernetes cluster in AWS. Currently it has an nginx ingress controller behind an ELB, but we are considering the Argo Ingress Controller, and naturally would want a pool.

I think the path would look a bit like this for us:

Cloudflare Security -> Cloudflare Worker -> CF Load Balancer -> Argo Ingress Controller -> Multiple App Pods

What doesn’t make sense to me is the Load Balancer part. If I didn’t have a Load Balancer, I would just make fetch(req, url) calls to the public fqdn on the ingresses (again, there are multiple). However, the docs state for HA, we have to have a CF LB, using the argo.Cloudflare.com/lb-pool=token annotation.

My question is essentially similar to Argo Tunnel for NGINX ingress controller but I don’t see a resolution there.

  • Is this use of the ingress controller compatible with Cloudflare Workers in the way I am stating? It seems as though I would have to make an LB per k8s app. Is there any way around this? If not, is there anything in the roadmap that could get around this requirement? It seems like a natural use of workers for customers running k8s.
  • Also, is the argo ingress controller being used in production by your customers? I understand from support that there is no ETA for it to GA, but it would be helpful to know if it is in use.