Kubernetes allows creation of deployment and service resource to expose a group of pods internally in the cluster. To expose the same service externally, an Ingress resource is defined which provides load balancing, TLS termination and name-based virtual hosting.
To satisfy this Ingress resource, an Ingress Controller is required which listens for any changes to Ingress resources and configures the load balancer policies.
The Application Gateway Ingress Controller (AGIC) allows Azure Application Gateway to be used as the ingress for an Azure Kubernetes Service also known as an AKS cluster.