Exposer des applications avec des Services
Comprenez le rôle des Services dans la fourniture de points d’accès réseau stables pour les Pods.
Exposer des applications avec des Services est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.
Pods : présents aujourd’hui, disparus demain
Dans Kubernetes, les pods sont les plus petites unités déployables. Ils sont conçus pour être temporaires et peuvent être créés, détruits ou déplacés par Kubernetes à tout moment.
Cette flexibilité est excellente pour la résilience, mais elle pose un problème : comment les autres applications peuvent-elles trouver et contacter de manière fiable ces pods en constante évolution ?
Le problème de la cible mouvante
Chaque pod possède sa propre adresse IP. Lorsqu’un pod redémarre ou change d’échelle, il obtient souvent une nouvelle adresse IP. Se connecter directement à l’adresse IP d’un pod revient à essayer d’atteindre une cible mouvante !
Imaginez une application web composée de plusieurs pods. Si l’un d’eux redémarre, son adresse IP change, ce qui interrompt les connexions des autres services ou des utilisateurs.
Les Services à la rescousse !
C’est là qu’interviennent les Services Kubernetes ! Un Service fournit un point d’accès réseau stable et fixe pour un ensemble de pods.
Considérez-le comme une adresse permanente pour votre application, même si les pods qui se trouvent derrière changent constamment d’adresse individuelle.
Une passerelle stable pour les pods
Un Service agit comme une couche d’abstraction au-dessus d’un groupe de pods. Il leur attribue une seule adresse IP et un seul nom DNS cohérents.
- Les autres applications utilisent l’adresse IP ou le nom stable du Service.
- Le Service achemine ensuite le trafic vers les pods sains qu’il gère.
- Cela dissocie les clients des adresses IP individuelles des pods.
Connecter des Services aux pods
Comment un Service sait-il vers quels pods acheminer le trafic ? Il utilise des étiquettes et des sélecteurs !
Lorsque vous définissez un Service, vous indiquez un selector. Tout pod correspondant à ces étiquettes est automatiquement intégré au groupe de ce Service.
Cette association dynamique signifie que les nouveaux pods sont automatiquement ajoutés et que les pods non sains sont supprimés.
Diriger le trafic réseau
Les Services gèrent la circulation du trafic réseau. Ils définissent des ports pour associer les requêtes entrantes aux ports appropriés de vos pods.
Concepts clés liés aux ports :
port: le port sur lequel le Service lui-même est à l’écoute.targetPort: le port du pod vers lequel le Service achemine le trafic.
Créer un manifeste de Service
Comme la plupart des ressources Kubernetes, les Services sont définis à l’aide de fichiers YAML. Examinons leur structure de base :
apiVersion:v1kind:Servicemetadata: nom, étiquettesspec: contient la définition principale, notammentselectoretports.
Votre premier Service : ClusterIP
Le type de Service le plus courant pour les communications internes est ClusterIP. Il expose le Service sur une adresse IP interne au sein du cluster.
Voici un exemple d’application web simple :
apiVersion: v1
kind: Service
metadata:
name: my-web-service
spec:
selector:
app: my-webapp
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIPDéployer votre Service
Une fois votre YAML de Service prêt, vous pouvez le déployer dans votre cluster à l’aide de kubectl, comme pour les pods ou les Deployments.
Cette commande demande à Kubernetes de créer le Service à partir de votre définition :
kubectl apply -f service.yamlUtiliser votre nouveau Service
Après son déploiement, votre Service obtient une adresse IP et un nom DNS stables au sein du cluster. Les autres pods peuvent désormais accéder à votre application en utilisant ce nom.
Par exemple, un autre pod pourrait se connecter à my-web-service:80, et le Service acheminerait le trafic vers les bons pods my-webapp.
Vérification des Services
Vous avez appris comment les Services Kubernetes fournissent un accès réseau stable à des pods dynamiques.
Laquelle des propositions suivantes décrit le mieux le rôle principal d’un Service Kubernetes ?
Récapitulatif : des connexions stables
Bravo ! Dans cette leçon, nous avons étudié les Services Kubernetes.
- Les pods sont éphémères et possèdent des adresses IP dynamiques.
- Les Services fournissent des points d’accès réseau stables pour les pods.
- Ils utilisent des sélecteurs pour trouver les pods ciblés.
- Les Services associent le
portexterne autargetPortinterne. - ClusterIP est un type courant pour les communications internes.
Nous allons maintenant approfondir les différents types de Services et leurs utilisations !
Questions Fréquemment Posées
La leçon « Exposer des applications avec des Services » est-elle gratuite ?
Oui — le texte complet de « Exposer des applications avec des Services » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Exposer des applications avec des Services » ?
Comprenez le rôle des Services dans la fourniture de points d’accès réseau stables pour les Pods. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Exposer des applications avec des Services » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Exposer des applications avec des Services
- Types de Service : ClusterIP, NodePort, LoadBalancer
- Ingress pour l’accès externe
- DNS et découverte des services