Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Create a Service

Dernière mise à jour :Aug 11, 2026

Les pods étant créés et supprimés fréquemment, leurs adresses IP changent constamment. Un service Kubernetes offre un endpoint réseau stable pour un groupe de pods et répartit le trafic entre eux, découplant ainsi les clients frontend des pods backend. Utilisez la console ACK pour créer un déploiement et l'exposer via un service.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

Fonctionnement des services

Un sélecteur d'étiquettes identifie les pods ciblés par un service. Lorsque le service reçoit du trafic, il distribue les requêtes à tous les pods dont les étiquettes correspondent au sélecteur.

Le tableau suivant présente les trois types de service et indique quand utiliser chacun d'eux :

Type de service Mode d'accès Cas d'utilisation
Cluster IP Adresse IP interne au cluster uniquement (par défaut) Exposer l'application à d'autres charges de travail au sein du même cluster
Node Port <NodeIP>:<NodePort> depuis l'extérieur du cluster Accès direct au niveau des nœuds ; non disponible pour les clusters ACK Serverless
Server Load Balancer Instance SLB orientée Internet ou interne Exposer l'application à des utilisateurs externes ou à des consommateurs internes du VPC

Pour consulter la spécification complète des services Kubernetes, rendez-vous sur la page Services Kubernetes.

Étape 1 : Créer un déploiement

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez Workloads > Deployments.

  3. Dans le coin supérieur droit de la page Deployments, cliquez sur Create from YAML.

  4. Sélectionnez un modèle d'exemple ou collez un manifeste YAML personnalisé, puis cliquez sur Create. L'exemple ci-dessous déploie deux réplicas NGINX et expose le port 80 :

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-deployment-basic
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:1.7.9          # Replace with your image
            ports:
            - containerPort: 80         # This port is referenced in the Service port mapping
  5. Sur la page Deployments, cliquez sur le nom du déploiement ou sur Details dans la colonne Actions pour confirmer qu'il est en cours d'exécution.

    Deployment status view

Étape 2 : Créer un service

  1. Dans le volet de navigation de gauche de la page des détails du cluster, choisissez Network > Services.

  2. Sur la page Services, cliquez sur Create.

  3. Dans la boîte de dialogue Create Service, configurez les paramètres décrits dans le tableau suivant, puis cliquez sur Create.

    Paramètre Description
    Name Nom du service.
    Service Type Mode d'accès au service. Consultez la section Détails des types de service pour obtenir des conseils.
    External Traffic Policy Disponible uniquement pour les types Node Port et Server Load Balancer. Local achemine le trafic uniquement vers les pods situés sur le nœud qui a reçu la requête. Cluster permet d'acheminer le trafic vers les pods sur n'importe quel nœud du cluster. Pour une comparaison, consultez la section Différences entre les politiques de trafic externe.
    Backend Déploiement à associer à ce service. Si ce champ est laissé vide, aucun objet Endpoint n'est créé. Consultez la section Services sans sélecteurs.
    Port Mapping Mappe le port du service (champ port dans le YAML) au port du conteneur (champ targetPort dans le YAML). Le port du conteneur doit correspondre au port exposé dans le pod backend.
    Annotations Annotations clé-valeur qui configurent l'instance SLB sous-jacente. Sélectionnez Custom Annotation ou Alibaba Cloud Annotation dans la liste déroulante Type. Par exemple, service.beta.kubernetes.io/alicloud-loadbalancer-bandwidth:2 limite la bande passante à 2 Mbit/s. Pour toutes les annotations prises en charge, consultez la section Utiliser des annotations pour configurer les instances CLB.
    Label Étiquettes utilisées pour identifier ce service.
  4. Sur la page Services, vérifiez que le service apparaît dans la liste. Pour accéder à l'application backend, cliquez sur le lien hypertexte situé à côté de External Endpoint sur la page des détails du service.

Détails des types de service

Cluster IP

Cluster IP expose le service sur une adresse IP interne au cluster, ce qui le rend accessible uniquement depuis l'intérieur du cluster. Il s'agit du type par défaut, adapté aux services consommés uniquement par d'autres charges de travail au sein du même cluster.

Pour utiliser un service headless, par exemple afin de l'intégrer à un mécanisme de découverte de services personnalisé, cochez la case Headless Service . Cette option n'est disponible que lorsque le paramètre Service Type est défini sur Cluster IP.

Node Port

Node Port mappe un port statique sur chaque nœud vers le service, permettant un accès depuis l'extérieur du cluster via <NodeIP>:<NodePort>. Le système crée automatiquement un service Cluster IP pour gérer le routage interne.

Remarque

Node Port est pris en charge uniquement pour les clusters ACK. Les clusters ACK Serverless ne prennent pas en charge ce type.

Server Load Balancer

Server Load Balancer (SLB) crée ou réutilise une instance SLB pour exposer le service à l'extérieur (orienté Internet) ou en interne (orienté VPC). Le trafic peut être acheminé vers des services Node Port ou Cluster IP.

Options d'instance SLB :

  • Create SLB Instance : Cliquez sur Modify pour modifier la spécification de l'instance.

  • Use Existing SLB Instance : Sélectionnez une instance SLB depuis votre compte.

Remarques d'utilisation :

  • Si vous utilisez une instance SLB existante, les écouteurs de l'instance SLB écrasent les écouteurs du service.

  • Les services partageant la même instance SLB doivent utiliser des ports d'écoute frontend différents pour éviter les conflits de ports.

  • Ne renommez pas les écouteurs ni les groupes vServer gérés par Kubernetes, car Kubernetes utilise ces noms comme identifiants uniques.

  • Les instances SLB ne peuvent pas être partagées entre plusieurs clusters.

  • Une instance SLB créée automatiquement pour un service ne peut pas être réutilisée par d'autres services. Seules les instances SLB créées manuellement dans la console ou via l'API peuvent être partagées entre plusieurs services.

Étapes suivantes