0Pricing
DevOps Bootcamp · Leçon

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 : v1
  • kind : Service
  • metadata : nom, étiquettes
  • spec : contient la définition principale, notamment selector et ports.

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: ClusterIP

Dé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.yaml

Utiliser 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 port externe au targetPort interne.
  • 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

  1. Exposer des applications avec des Services
  2. Types de Service : ClusterIP, NodePort, LoadBalancer
  3. Ingress pour l’accès externe
  4. DNS et découverte des services
← Retour à DevOps Bootcamp