When deploying your applications in Kubernetes, one of the first challenges many people encounter is how to get traffic into their cluster. Kubernetes ingress is a collection of routing rules that govern how external users access services running in a Kubernetes cluster. There are three general approaches for exposing your application:
NodePort
to expose your application on a port across each of your nodesLoadBalancer
service to create an external load balancer that points to a Kubernetes service in your clusterThere are three significant additions to the Ingress API in Kubernetes 1.18:
pathType
fieldIngressClass
resourceThe new pathType
field allows you to specify how Ingress paths should match. The field supports three types: ImplementationSpecific
(default), exact
, and prefix
. Explicitly defining the expected behavior of path matching will allow every ingress-controller to support a user’s needs and will increase portability between ingress-controller implementation solutions.
The IngressClass
resource specifies how Ingresses should be implemented by controllers. This was added to formalize the commonly used but never standardized kubernetes.io/ingress.class
annotation and allow for implementation-specific extensions and configuration.
You can read more about these changes, as well as the support for wildcards in hostnames in more detail in a previous blog post.
#kubernetes #kubernetes ingress #kubernetes 1.18 ingress #api