Hello
Welcome to microsoft Q&A, Thankyou for posting your query here.
Defining Ingress resources for your services, you instruct the Nginx Ingress controller on how to route external traffic to these services.
The Nginx-Ingress controller is informed of published services through the use of Kubernetes resources, particularly Ingress resources, which define rules for routing external HTTP(S) traffic to internal services.
The Nginx Ingress controller using Helm, you provide it with a set of configurations that can include default behaviors, SSL/TLS settings, timeouts, and more. Helm charts are used to deploy both the Ingress controller and other applications/services within the cluster.
The YAML snippet you provided sets up the Nginx-Ingress controller and some of its configurations, such as SSL ciphers, timeouts, and the specific IP for the LoadBalancer.
The Nginx Ingress controller watches for Ingress resources across the cluster. Whenever it finds an Ingress resource, it reads the information and maps these to the specified services.
The annotations and specific configurations in the Ingress resource help fine-tune how requests are handled. The kubernetes.io/ingress.class: nginx specifically ensures that this Ingress resource is meant for Nginx and not another type of Ingress controller you might have running.
There isn't a direct "broadcast" of services. The Ingress controller actively watches for changes in the Kubernetes API server regarding Ingress resources and updates its configuration in real-time to reflect these changes.
Hope this helps you.
If an answer has been helpful, please consider accepting the answer to help increase visibility of this question for other members of the Microsoft Q&A community. If not, please let us know what is still needed in the comments so the question can be answered. Thank you for helping to improve Microsoft Q&A!