Azure / application-gateway-kubernetes-ingress

This is an ingress controller that can be run on Azure Kubernetes Service (AKS) to allow an Azure Application Gateway to act as the ingress for an AKS cluster.
https://azure.github.io/application-gateway-kubernetes-ingress
MIT License
673 stars 419 forks source link

>1 replicas and PDB required #1043

Open lissff opened 3 years ago

lissff commented 3 years ago

Right now the default replica for agic pod is 1, and no pod disruption defined; Better if we could config replicas using configmap, or it could scale up with number of numbers like coreDNS does.

dhananjaya94 commented 3 years ago

In running in production PDB is required.

akshaysngupta commented 3 years ago

This will require leader election support on AGIC as multiple AGIC pod will cause multiple updates on AppGW.

Appendix: K8s docs Example PR

atkhalsa commented 3 years ago

When is this feature expected to be released?

o-otte commented 2 years ago

@akshaysngupta We are also very interested in leader election support, is there any ETA on this?

We are planning on using the AGIC and AppGW in a Istio Multicluster Service Mesh in the future and want to deploy the AGIC in every cluster of the mesh to improve resilience in case of cluster breakdown or redeployment. Would it also be possible for the leader election have some sort of istio mode in which the leader is chosen from all AGIC Pods of the whole multicluster service mesh?

MrEcco commented 1 year ago

The community is still waiting for this essential reliability feature. Is there a chance to schedule the implementation for the near future?

It seems like the solution might be not so complex. It is possible to check service labels/annotations and do things or nothing by this flag value. Election can be run by API-requirest with object name+namespace+uid+resourceVersion (if resourceVersion in request and state are different then API always responds error). And pods can check each other or even a health state from KAPI. That is how HashiCorp helm charts and Nginx Ingress Controller do it.

HammerNL89 commented 6 months ago

Any update on supporting this feature?