Kubernetes is an open source platform for orchestrating container applications; meaning it automates the deployment, scaling, and management of containerized applications. Kubernetes takes individual containers and groups them into a pod, a logical unit for application. Pods can also be grouped together as a network service with public access and discovery.
A Kubernetes Ingress is an API object that controls the access to the services inside a Kubernetes cluster. An Ingress is a collection of HTTP and HTTPS routes that can be configured to provide externally reachable URLs, load balancing, SSL termination, and name-based virtual hosting. An Ingress controller manages the configurations for each Ingress resource.
Kubernetes changes the way operators need to handle and route incoming traffic:
- Kubernetes requires an Ingress Controller Resource to perform this function
- Ingress has limited capabilities beyond facilitating the simple use case of incoming traffic
API gateways are a more complete traffic management solution for Kubernetes application environments which:
- Provide ingress and egress capabilities
- Offer advanced traffic shaping and management capabilities