Créer des tranches de point de terminaison Kubernetes

Creer Des Tranches De Point De Terminaison Kubernetes



Une tranche de point de terminaison vous permet de suivre le point de terminaison du réseau qui est connecté au cluster Kubernetes. Vous pouvez en savoir plus sur EndpointSlices dans l'environnement Kubernetes grâce à cet article que nous avons créé pour vous. Dans ce didacticiel, nous vous aiderons à découvrir ce qu'est un EndpointSlice dans le cluster Kubernetes et comment vous pouvez créer un EndpointSlice dans Kubernetes. Nous allons démontrer certaines commandes kubectl qui nous permettent de créer un point de terminaison dans le cluster Kubernetes.

Qu'est-ce qu'un EndpointSlice dans Kubernetes ?

EndpointSlice dans Kubernetes est un outil de suivi des points de terminaison du réseau. Il permet de surveiller les points de terminaison du réseau dans un cluster Kubernetes. En termes simples, il s'agit d'un objet qui obtient les adresses IP de chaque pod qui lui est attribué. Le service Kubernetes fait référence à cet objet pour obtenir l'enregistrement des adresses IP internes du pod pour la communication. De plus, ces points de terminaison sont utilisés par les pods pour s'exposer à un service.

Dans le domaine Kubernetes, ces points de terminaison fonctionnent comme une couche d'abstraction qui aide le service Kubernetes à s'assurer qu'il existe une distribution du trafic vers les pods du cluster. Cependant, lorsqu'une charge de trafic augmente, le problème de mise à l'échelle du trafic se produit. En effet, un seul point de terminaison contient tous les points de terminaison du réseau pour chaque service. Et lorsque ces sources atteignent une taille inacceptable, les performances de Kubernetes sont affectées négativement. En d'autres termes, lorsque le nombre de points de terminaison du réseau augmente énormément, la capacité de Kubernetes à faire évoluer le déploiement est affectée négativement. Comprenons cela à l'aide de l'image graphique suivante :









Ici, vous pouvez voir qu'un Endpoint contient tous les pods du cluster et que les EndpointSlices sont l'alternative extensible et évolutive au Endpoint existant. Il n'y a qu'une seule ressource Endpoint pour l'ensemble du service, mais il existe plusieurs EndpointSlices pour le même service. Les EndpointSlices vous aident à faire évoluer vos ressources réseau de cette manière. Pour comprendre l'importance de ce problème d'évolutivité, prenons un exemple.



Par exemple, le service Kubernetes compte quelque 9 000 pods qui se retrouvent d'une manière ou d'une autre dans des ressources Endpoint de 2 Mo. Un seul Endpoint possède toutes ces ressources Endpoint des services. Si un point de terminaison du réseau change dans le point de terminaison, la ressource entière du point de terminaison doit être répartie entre chaque nœud du cluster. Lorsqu'il s'agit de gérer un cluster de 3000 nœuds, cela devient un énorme problème car un grand nombre de mises à jour doivent être envoyées à chaque nœud. Par conséquent, lorsque vous évoluez davantage dans un seul point de terminaison, plus la mise à l'échelle du réseau devient difficile.





Cependant, les EndpointSlices résolvent ce problème en permettant à Kubernetes de s'adapter autant que nécessaire. Au lieu d'utiliser un point de terminaison unique contenant une énorme liste d'adresses IP et leurs numéros de port associés, utilisez plusieurs EndpointSlices. Ces EndpointSlices sont de petits morceaux d'un énorme point de terminaison unique. Ces tranches sont beaucoup plus petites, mais elles atténuent la charge causée par l'énorme point final. Vous pouvez stocker jusqu'à 100 pods dans un EndpointSlice. Ces EndpointSlices vous aident à distribuer le service à un pod spécifique. Si un point de terminaison du réseau change, il vous suffit d'envoyer des mises à jour à un EndpointSlice qui contient un maximum de 100 pods. Tous les autres pods du réseau restent intacts.

Voyons maintenant comment créer un Kubernetes EndpointSlice.



Comment les EndpointSlices sont-elles créées dans Kubernetes ?

Kubernetes EndpointSlices est la meilleure alternative à un point de terminaison unique dans le cluster Kubernetes. Cela vous aide non seulement à suivre facilement et efficacement tous les points de terminaison du réseau, mais offre également de meilleures performances par rapport à un seul point de terminaison. Il montre également le trafic réseau inférieur tout en offrant une fiabilité de mise à l'échelle. De plus, l'utilisation de plusieurs EndpointSlices vous permet de mettre moins de travail sur le plan de contrôle et les nœuds du cluster Kubernetes.

Vous pouvez avoir les étapes qui vous permettent d'apprendre à créer les EndpointSlices dans le cluster Kubernetes dans les exemples suivants.

Étape 1 : Démarrez le cluster Minikube

La première étape consiste à s'assurer que le cluster minikube est actif. Un cluster minikube inactif ne vous permettra pas d'effectuer de travail dans l'environnement Kubernetes, alors assurez-vous qu'il est en mode actif. Pour vous assurer que le cluster minikube est opérationnel, utilisez la commande suivante :

> démarrer minikube

Si votre cluster minikube n'a pas démarré plus tôt ou s'il est en mode veille, cette commande le réveille et le fait fonctionner. Maintenant, vous avez un cluster minikube actif. Vous êtes prêt à créer EndpointSlice dans votre environnement Kubernetes.

Étape 2 : Créer un déploiement avec le fichier YAML

Le fichier YAML est le plus couramment utilisé dans Kubernetes pour créer des déploiements. Vous pouvez utiliser le fichier YAML de déploiement préexistant ou en créer un nouveau à l'aide de la commande suivante :

> nano point de terminaison.yaml

Cela crée un nouveau fichier YAML nommé 'endpoint.yaml' dans lequel vous pouvez enregistrer la définition de déploiement pour la configuration. Reportez-vous à la définition de déploiement dans la capture d'écran suivante :

Étape 3 : créer le EndpointSlice à l'aide du fichier YAML

Maintenant que nous avons un fichier YAML qui contient la définition de déploiement, nous l'utilisons pour créer les EndpointSlices dans notre cluster Kubernetes. Nous devons déployer le fichier de configuration afin que nous puissions avoir les EndpointSlices dans le cluster Kubernetes. Nous utilisons la commande suivante pour déployer le fichier de configuration :

> kubectl créer -f endpoint.yaml

Dans l'environnement Kubernetes, les ressources sont créées à l'aide de la commande 'kubectl create'. Par conséquent, nous utilisons la commande 'kubectl create' pour créer les EndpointSlices à partir du fichier de configuration YAML.

Conclusion

Nous avons exploré les EndpointSlices dans l'environnement Kubernetes. Le EndpointSlice dans Kubernetes est un objet qui est utilisé pour suivre tous les points de terminaison du réseau dans le cluster Kubernetes. C'est la meilleure alternative à un énorme et unique point de terminaison dans le cluster Kubernetes, car il permet de meilleures options d'évolutivité et d'extensibilité. Ces EndpointSlices permettent au cluster Kubernetes d'offrir de meilleures performances en plaçant moins de travail sur les nœuds et le plan de contrôle. À l'aide d'un exemple, nous avons appris à créer les EndpointSlices dans le cluster Kubernetes.