Overzicht van Kubernetes-netwerken
Knooppunten
Het is gebruikelijk om Kubernetes te zien waarnaar wordt verwezen als een cluster. Clusters op hoog niveau zijn een groep computers die samenwerken en resources delen om de prestaties en beschikbaarheid te verbeteren. Als computers in het cluster mislukken, kunnen de services die op het cluster worden uitgevoerd, blijven werken op de resterende werkende computers.
In Microsoft Azure worden deze computers virtuele machines (VM's) genoemd. In Kubernetes worden deze VM's knooppunten genoemd.
Knooppunten hebben netwerkconnectiviteit nodig, zodat ze met elkaar kunnen communiceren en netwerkverkeer effectief kunnen routeren. Knooppunten moeten ook communiceren met het Kubernetes-besturingsvlak, dat de belangrijkste Kubernetes-services en indeling van toepassingsworkloads biedt, zodat ze uw toepassingsworkloadresources kunnen uitvoeren.
Pods
In Kubernetes bevatten resources voor toepassingsworkloads pods, implementaties en sets. Pods zijn de kleinste implementeerbare eenheid in een Kubernetes-cluster. Ze worden verdeeld over uw knooppunten op een manier die het beste gebruik mogelijk maakt van de beschikbare processor- en geheugenresources op de knooppunten. Pods vertegenwoordigen doorgaans één exemplaar of subcomponent van uw toepassing. Een pod kan een winkelwagenonderdeel uitvoeren dat de items beheert in de winkelwagen van een klant of een verzendonderdeel dat de verwerking van voltooide orders afhandelt.
U kunt meerdere kopieën of replica's van dezelfde pod uitvoeren. Replica's verdelen meerdere pods over knooppunten om hoge beschikbaarheid te bieden. Met meerdere replica's van de pods kan onze toepassing blijven werken als een onderdeel dat in een pod wordt uitgevoerd, mislukt.
Met de schaalfuncties in Kubernetes kunt u pods toevoegen of verwijderen als reactie op het vraagniveau op het cluster. De zelfherstelmogelijkheden in Kubernetes kunnen elke pod vervangen die mislukt en de ingebouwde ondersteuning voor rolling updates automatiseert de implementatie van nieuwe versies van een toepassing zonder downtime.
Pods krijgen een nieuw IP-adres toegewezen tijdens de eerste implementatie. Dit IP-adres wordt gebruikt voor alle netwerkcommunicatie met de pod. Er zijn veel scenario's waarin een pod een nieuw IP-adres wordt toegewezen. Wanneer de vraag naar clusters hoog is en er schaalaanpassing plaatsvindt, worden nieuwe pods geïmplementeerd. Wanneer u een toepassing bijwerkt, worden nieuwe pods geïmplementeerd om de oude pods te vervangen. Als een pod mislukt, wordt deze automatisch vervangen door een nieuwe pod. Al deze scenario's resulteren in nieuwe IP-adressen van pods.
Als ip-adressen van pods regelmatig worden gewijzigd, hoe weet Kubernetes waar netwerkverkeer moet worden verzonden om onze toepassing te bereiken? Het antwoord is services.
Services
Een Kubernetes-service bevindt zich voor een groep pods en biedt een statisch IP-adres. Wanneer verkeer bij een service aankomt, distribueert de service deze op een round robin-manier naar een set back-endpods. De service houdt wijzigingen in de IP-adressen van de pods bij om ervoor te zorgen dat netwerkverkeer naar de juiste pods wordt verzonden.