In diesem Beitrag geht es kurz um die verschiedenen Zugriffstypen innerhalb von Kubernetes-Services um die Konnektivität zu oder zwischen Pods sicherzustellen.
Es gibt konkret 3 verschiedene Typen. Es gibt die ClusterIP, den NodePort und den LoadBalancer.
ClusterIP
Mit der ClusterIP wird die Verbindung zum Pod innerhalb des Clusters ermöglicht. So ist es möglich, dass zum Beispiel ein Datenbank-Pod nur von einer Webanwendung erreicht werden kann, ohne die Datenbank öffentlich zugänglich zu machen.
NodePort
Beim NodePort wird ein Port auf den Nodes geöffnet. Über diesen Port kann dann der Service bzw. der Dienst erreicht werden. Das gilt für externen und internen Zugriff. So kann dann zum Beispiel eine Internetseite öffentlich gemacht werden.
LoadBalancer
Beim LoadBalancer werden die Anfragen auf den Service über einen LoadBalancer geleitet. Das hat den Vorteil, dass alle Anfragen, die an den Service gestellt werden, auf alle Pods verteilt werden. So können die Server besser mit einer hohen Anzahl an Anfragen zurechtkommen und die Server alle gleichermaßen belasten.
Im Weiteren kann dadurch ein Dienst auch hochverfügbar angeboten werden. Das heißt, sobald ein Kubernetes Worker-Node offline geht, werden die Anfragen auf die noch verbliebenden Nodes verteilt. Für so einen LoadBalancer werden in Cloud-Umgebung leider aber auch weitere monatliche Kosten fällig, da hier in den Cloud-Infrastrukturen extra ein virtueller Server hochgefahren wird, der diese Aufgabe übernimmt.