ingress means network forwarding resources based on domain names. Ingress is an API object that manages external access to services in the cluster. Typical access methods are HTTP and HTTPS. Ingress can provide load balancing, SSL and name-based virtual hosting.
Ingress introduction
ingress is a network forwarding resource based on domain name, ingress is an external access to services in the cluster API objects for management, the typical access methods are HTTP and HTTPS. Ingress can provide load balancing, SSL and name-based virtual hosting.
You must have an ingress controller [such as ingress-nginx] to meet the requirements of Ingress. Simply creating the lIngress resource is invalid.
ingress principle: dynamically generate nginx configuration files (written in lua language) and make them effective. Ingress is like a load balancing (nginx server), reverse proxying multiple services in k8s
Commonly used Ingresses in production environments include Treafik, Nginx, HAProxy, lstio, etc.
nginx ingress: strong performance
traefik: native support for k8s
istio: Service mesh, management of service traffic
Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. Traffic routing is controlled by rules defined on the Ingress resource.
Ingress can be configured to serve externally accessible URLs, load balance traffic, SSL/TLS, and provide name-based virtual hosting. The Ingress controller is typically responsible for this via a load balancer, although it can also be configured with edge routers or other front-ends to help handle traffic.
Ingress does not expose any ports or protocols. When exposing services other than HTTP and HTTPS to the Internet, services of Service.Type=NodePort or Service.Type=LoadBalancer type are usually used. The details are as follows
ingress architecture diagram
The above is the detailed content of What does ingress mean?. For more information, please follow other related articles on the PHP Chinese website!