Quels sont les différents types de services à Kubernetes?

Quels sont les différents types de services à Kubernetes?
Un service à Kubernetes est une abstraction qui décrit une collection de gousses conceptuelles dans lesquelles une application s'exécute et une politique d'accès pour ce type de pods. Si un pod doit se connecter avec un autre pod, il doit d'abord déterminer son adresse IP. Les services de Kubernetes fournissent également un moyen de trouver certains gousses. Les adresses IP POD sont abstraites dans le modèle de réseautage de Kubernetes; Si un pod se casse ou est détruit, un nouveau pod obtiendra presque certainement une nouvelle adresse IP. Un service à Kubernetes accorde souvent un accès au réseau à un pod ou un groupe de gousses. Les services choisiront des pods en fonction de leurs noms, et lorsque la demande de réseau sera envoyée à ces services, il identifiera toutes les pods du cluster qui correspondent à l'étiquette du service, choisissent l'un d'eux, puis lui a envoyé la demande de réseau.

Catégories de services Kubernetes

Les services Kubernetes sont divisés en quatre catégories de base:

Cluster
Dans Kubernetes, le service ClusterIp est en effet la forme de service standard. Il fournit un service dans le cluster Kubernetes que d'autres applications Kubernetes peuvent gérer sans donner accès à l'extérieur. C'est une adresse IP que le cluster Kubernetes et tous ses services peuvent utiliser en interne. Contrairement à l'adresse IP POD, l'adresse IP utilisée dans le clusterip n'est pas accessible au-delà du cluster.

Nodeport
Chaque nœud de votre cluster a un port ouvert appelé nodeport. Même si votre application s'exécute sur un nœud différent, Kubernetes achemine directement le trafic de la Nodeport vers le service. Chaque cluster Kubernetes accepte Nodeport, mais vous devez modifier vos pare-feu si vous utilisez un fournisseur de services cloud comme Google Cloud.

Chargeur de chargeur
Un chargeur de charge est un moyen populaire d'introduire un service Kubernetes dans le monde extérieur via Internet. LoadBalancer peut être utilisé de manière similaire à ClusterIp et Nodeport.Le cluster abordera le fournisseur de cloud et construira un équilibreur de charge si vous sélectionnez LoadBalancer comme catégorie de service. Le trafic sera redirigé vers les pods backend lorsqu'il arrivera à cet équilibreur de charge. Les détails de cette méthode sont déterminés par la façon dont chaque fournisseur d'équilibrage de charge implémente sa technologie.

Nom externe
Étant donné que les services ExternalName n'ont pas de sélecteurs ou de ports ou de terminaux fixes, ils peuvent rediriger le trafic vers un service extérieur. Ce formulaire associe le service aux éléments du champ de nom externe. Il termine cela en renvoyant la valeur record d'un CNAME.

Créer un déploiement avec le service

Un déploiement de Kubernetes surveille la santé du pod et, si nécessaire, réinitialise le conteneur du pod. Les déploiements sont la méthode de gestion de la formation et de la mise à l'échelle des pods. Donc, pour gérer un pod, nous allons créer un déploiement. À cette fin, ouvrons le terminal de votre Ubuntu 20.04 Système d'exploitation LTS. Vous pouvez utiliser la zone d'application ou la clé de raccourci à cet effet. Assurez-vous que vous avez installé Minikube dans votre système.

Exécutez la commande ci-dessous pour démarrer Minikube.

$ minikube start

Dans la sortie de cette commande, vous verrez la version de Minikube. Après cette commande, vous devez ouvrir le tableau de bord Minikube à l'aide de cette commande ci-dessous.

$ Tableau de bord Minikube

Maintenant, nous sommes tous prêts à créer un déploiement à l'aide de la commande CREATE. Vous devez écrire la commande ci-dessous comme indiqué dans le terminal.

Vous pouvez afficher que le nœud Hello a été créé. Si vous souhaitez afficher les déploiements, vous pouvez facilement le faire en exécutant la commande citée.

$ kubectl obtenir des déploiements

Dans la sortie, vous pouvez voir les informations de base liées à un déploiement déjà créé. Vous pouvez afficher le pod par l'exécution de cette commande:

$ kubectl obtenir des pods

Dans la sortie inférieure, vous pouvez facilement afficher toutes les informations pertinentes liées aux pods énumérés. Si vous souhaitez répertorier les événements du cluster, vous pouvez utiliser la commande de base suivante à cet effet.

$ kubectl obtenir des événements

Maintenant, vous pouvez afficher la configuration de Kubectl en utilisant la commande ci-dessous:

$ Kubectl Config View

À l'intérieur du cluster Kubernetes, le pod ne serait disponible que par son adresse IP intérieure. Il serait préférable d'exposer le conteneur Hello-Node en tant que service Kubernetes pour le rendre disponible vers l'extérieur du réseau virtuel de Kubernetes. Maintenant, nous allons exposer le pod en utilisant la commande ci-dessous. En outre, vous pouvez voir que -ype = loadbalancer qui exposera le service connexe en dehors du cluster.

Il est maintenant temps de voir le service créé. Donc, à cet effet, vous pouvez utiliser la commande ci-dessous. La sortie doit être similaire à celle affichée dans l'image attachée.

$ kubectl obtenir des services

Pour afficher les informations de service Hello Node, vous pouvez utiliser la commande affichée suivante avec le mot-clé minikube.

$ MINIKUBE SERVICE HELLO-NODE

Vous pouvez voir que l'URL du nœud est également affichée dans la capture d'écran ci-jointe avec le port cible. Heureusement, le service sera ouvert dans le navigateur de votre système d'exploitation. Vous pouvez vérifier que les informations de service s'affichent dans le navigateur de votre système.

Conclusion

Dans ce guide, nous avons élaboré le concept de services à Kubernetes ainsi que ses différentes catégories. Nous avons également expliqué un exemple de base pour la création d'un déploiement avec un service pertinent. En lisant et en mettant en œuvre ce guide ci-dessus, j'espère que vous pourrez facilement comprendre le concept des services Kubernetes et sa création.