Jump to content

Kubernetes: Difference between revisions

248 bytes added ,  15 February 2022
Line 218: Line 218:
* NodePort - This exposes the port on every node. It implicitly creates a ClusterIP and every node will route to that. This allows access from outside the cluster.
* NodePort - This exposes the port on every node. It implicitly creates a ClusterIP and every node will route to that. This allows access from outside the cluster.
* ExternalName - uses a CNAME record. Primarily for accessing other services from within the cluster.
* ExternalName - uses a CNAME record. Primarily for accessing other services from within the cluster.
* LoadBalancer - Creates a clusterip+nodeport and tells the loadbalancer to create an IP and route it to the nodeport.
** On bare-metal deployments you will need to install a loadbalancer such as metallb.


On managed deployments (e.g. AWS EKS, GKE) you also have
By default, ClusterIP is provided by <code>kube-proxy</code> and performs round-robin load-balancing to pods.<br>
* LoadBalancer - fires up the provider's load balancer
For exposing non-http(s) production services, you typically will use a LoadBalancer service.<br>
 
For https services, you will typically use an ingress.
By default, ClusterIP is provided by <code>kube-proxy</code> and performs round-robin load-balancing to pods.


==Ingress==
==Ingress==