Kubernetes Ingress Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 18: Line 18:
=Ingress Controller=
=Ingress Controller=


The Ingress controller is the process - most likely running as a pod or pods inside the Kubernetes cluster itself - that accepts the HTTP connections, distributes traffic, terminates SSL connections, etc.
The Ingress controller is the process - most likely running as a pod or pods inside the Kubernetes cluster itself - that accepts the HTTP connections, distributes traffic, terminates SSL connections, etc. Some Kubernetes distributions provide an Ingress controller as an "add-on". If the Ingress controller is not provided as add-on, it can be installed:


=Ingress API Resource=
=Ingress API Resource=
[[Kubernetes API Resources Concepts#Ingress|Kubernetes API resource]]
[[Kubernetes API Resources Concepts#Ingress|Kubernetes API resource]]

Revision as of 19:43, 25 September 2020

External

Internal

Overview

An Ingress is a mechanism that operates at the application layer of the network stack (HTTP) and brings layer 7 features such as host and path-based routing and cookie-based session affinity to services. Ingress cooperates with services to distribute load to pods. It exposes multiple services through a single IP address, and its implementation differs fundamentally from the implementation of ClusterIP, NodePort and LoadBalancer services. The reasons to use an Ingress include:

  • One Ingress can serve multiple services, behind a single public IP address, while each LoadBalancer requires its own native load balancer, each of them requiring their own public IP address.
  • Host, paths and cookies can be used to route the request.

The Ingress mechanism consists of an Ingress controller and an Ingress resource.

Ingress Controller

The Ingress controller is the process - most likely running as a pod or pods inside the Kubernetes cluster itself - that accepts the HTTP connections, distributes traffic, terminates SSL connections, etc. Some Kubernetes distributions provide an Ingress controller as an "add-on". If the Ingress controller is not provided as add-on, it can be installed:

Ingress API Resource

Kubernetes API resource