Kubernetes is an open source platform for orchestrating container applications; meaning automating the deployment, scaling and management of containerized applications. Kubernetes takes individual containers and group them into a pod, a logical unit for application. Pods can also be grouped together as a network service to be exposed publicly, discovered and managed by Kubernetes.
A Kubernetes Ingress is an API object that controls the access to the services inside a Kubernetes cluster from external users. 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 is required to fulfill the configurations of the Ingress resource.
Kubernetes changes the way operators need to handle incoming traffic to their cluster and routing that traffic to the right set of containers.
- Kubernetes has the concept of an Ingress Controller Resource and is required to perform this function.
- Ingress has limited capabilities beyond facilitating the simple use case of incoming traffic.
API Gateways provide a more fuller featured traffic management solution for Kubernetes application environments.
- Provides ingress and egress capabilities
- Advanced traffic shaping and management capabilities