Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Use ACK to quickly deploy a magic cube game application

Dernière mise à jour :Sep 15, 2026

Alibaba Cloud Container Service for Kubernetes (ACK) est un service haute performance permettant de gérer et d'exécuter des applications conteneurisées dans le cloud. Ce tutoriel vous guide pas à pas dans le déploiement d'ACK-Cube, un jeu de Rubik's Cube en ligne, sur un cluster ACK Pro managé et son exposition sur Internet.

À l'issue de ce tutoriel, vous aurez :

  • Créé un cluster ACK Pro managé

  • Déployé l'application ACK-Cube sur le cluster

  • Accédé au jeu en cours d'exécution via une URL publique

2024-12-12_16-00-46 (1)

Prérequis

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

  • Un compte Alibaba Cloud disposant des permissions nécessaires pour activer ACK et créer des clusters

  • L'activation du service et les autorisations pour ACK doivent être complétées. Consultez la rubrique Créer rapidement un cluster ACK managé pour connaître la procédure complète de configuration.

  • Avoir consulté les informations de facturation relatives aux clusters ACK et aux ressources associées

Étape 1 : Créer un cluster

Le mode Intelligent Managed d'ACK simplifie la création de clusters : configurez quelques paramètres de planification et ACK crée un cluster respectant les bonnes pratiques en un seul clic. Le cluster inclut un pool de nœuds géré de manière intelligente, dont le cycle de vie est automatiquement pris en charge par ACK. Pour plus d'informations, consultez la rubrique Créer un cluster ACK managé (mode Intelligent Managed).

Pour personnaliser les configurations détaillées du cluster, consultez plutôt la rubrique Créer un cluster ACK managé .
  1. Connectez-vous à la console ACKconsole ACKconsole ACKconsole ACK. Sur la page Clusters, cliquez sur Create Kubernetes Cluster.

  2. Sur la page qui s'affiche, cliquez sur l'onglet ACK Managed Cluster et activez l'option Intelligent Managed. Pour accéder au cluster via Internet, sélectionnez Expose API Server With EIP. Cliquez sur Confirm Configurations, vérifiez vos sélections, puis cliquez sur Create Cluster. La création du cluster prend quelques minutes. Attendez que l'état du cluster indique Running avant de poursuivre.

    image

Étape 2 : Déployer l'application

L'application ACK-Cube utilise une image de conteneur publique. Pour la télécharger, le cluster doit avoir accès à Internet. Avant le déploiement, choisissez l'une des options suivantes :

Choisissez ensuite votre méthode de déploiement :

  • Déploiement via la console : Déployez et exposez l'application via l'interface utilisateur de la console ACK.

  • Déploiement via kubectl : Connectez-vous au cluster à l'aide de CloudShell, Workbench ou d'un client kubectl local, puis effectuez le déploiement à l'aide de manifests YAML.

Option A : Déploiement via la console

Déployer et exposer l'application

Cette section explique comment créer un Deployment pour le jeu ACK-Cube et l'exposer sur Internet à l'aide d'un Service. Pour la liste complète des paramètres de Deployment, consultez la rubrique Créer une application sans état à l'aide d'un Deployment.

  1. Sur la page Clusters, cliquez sur le nom de votre cluster (par exemple, ACK-Demo).

  2. Dans le volet de navigation de gauche, choisissez Workloads > Deployments.

  3. Dans le coin supérieur droit, cliquez sur Create from Image.

  4. Sous l'onglet Basic Information, définissez le nom de l'application sur ack-cube.

  5. Cliquez sur Next. Sous l'onglet Container, configurez les paramètres suivants :

    Paramètre

    Description

    Valeur d'exemple

    Image Name

    L'image de conteneur à déployer.

    registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0

    Resource Limit

    Le CPU et la mémoire maximaux que l'application peut consommer.

    CPU : 1 cœur, Mémoire : 1024 MiB. Laissez le stockage éphémère vide.

    Required Resources

    Le CPU et la mémoire réservés pour l'application.

    CPU : 0,5 cœur, Mémoire : 512 MiB. Laissez le stockage éphémère vide.

    Port

    Les paramètres du port du conteneur.

    Nom : ack-cube, Port du conteneur : 80, Protocole : TCP

  6. Cliquez sur Next. Sous l'onglet Advanced, cliquez sur Create dans la section Services. Dans la boîte de dialogue Create Service, configurez les paramètres suivants et cliquez sur OK.

    Paramètre

    Description

    Valeur d'exemple

    Name

    Le nom du Service.

    ack-cube-svc

    Type

    La méthode d'accès au Service.

    Sélectionnez Server Load Balancer > Classic Load Balancer (CLB) > Create Resource. Conservez les paramètres CLB par défaut pour cet environnement de test.

    Port

    Le port du Service et le port du conteneur. Le port du conteneur doit correspondre au Pod backend.

    Port du Service : 80, Port du conteneur : 80, Protocole : TCP

    Sélectionnez Local pour External Traffic Policy.

  7. Cliquez sur Create. Une page de confirmation s'affiche avec la liste des objets de l'application. Cliquez sur View Details pour les consulter.

Accéder à l'application

Connectez-vous à la console ACKconsole ACKconsole ACKconsole ACK. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, choisissez Workloads > Deployments. Recherchez l'application ack-cube dans le namespace default. Cliquez sur l'onglet Access Method, recherchez le Service ack-cube-svc et cliquez sur le lien dans la colonne External Endpoint pour ouvrir le jeu Rubik's Cube.

Option B : Déploiement via kubectl

Se connecter au cluster

Connectez-vous à votre cluster ACK en utilisant l'une des méthodes suivantes :

CloudShell

CloudShell fournit un environnement Linux basé sur un navigateur avec des outils préinstallés, sans frais. Au démarrage de CloudShell, une machine virtuelle Linux est provisionnée pour vous. Vous pouvez l'utiliser avec l'IDE Web de CloudShell pour gérer vos ressources cloud.

Connectez-vous à la console ACKconsole ACKconsole ACKconsole ACK. Dans le volet de navigation de gauche, cliquez sur votre cluster cible. Sur la page Cluster Information, choisissez Basic Information > Open Cloud Shell. Après quelques secondes, l'interface CloudShell démarre et kubectl est prêt à l'emploi. Pour plus d'informations, consultez la rubrique Utiliser kubectl sur Workbench ou Cloud Shell pour se connecter aux clusters ACK.

Workbench

Workbench est un outil de connexion à distance basé sur un navigateur qui ne nécessite aucune installation de logiciel supplémentaire.

Connectez-vous à la console ACKconsole ACKconsole ACKconsole ACK. Dans le volet de navigation de gauche, cliquez sur votre cluster cible. Sur la page Cluster Information, choisissez Basic Information > Manage Clusters Using Workbench. Après quelques secondes, l'interface Workbench démarre. Pour plus d'informations, consultez la rubrique Se connecter à une instance à l'aide de Workbench.

kubectl client

Utilisez un client kubectl local pour vous connecter via Internet.

  1. Installer et configurer kubectl.

  2. Connectez-vous à la console ACKconsole ACKconsole ACKconsole ACK. Cliquez sur le nom de votre cluster (par exemple, ACK-Demo). Sur la page Cluster Information, cliquez sur l'onglet Connection Information. Copiez les identifiants depuis l'onglet Public Access et collez-les dans le fichier $HOME/.kube/config. Créez le répertoire .kube et le fichier config s'ils n'existent pas déjà. Pour plus d'informations, consultez la rubrique Obtenir le fichier kubeconfig d'un cluster et utiliser kubectl pour se connecter au cluster.

  3. Exécutez la commande suivante pour vérifier la connexion :

    kubectl get namespace

    Sortie attendue :

    NAME              STATUS   AGE
    arms-prom         Active   4h39m
    default           Active   4h39m
    kube-node-lease   Active   4h39m
    kube-public       Active   4h39m
    kube-system       Active   4h39m

Déployer et exposer l'application

Cette section explique comment utiliser kubectl pour déployer une charge de travail sans état (un Deployment) dans votre cluster ACK et l'exposer à l'aide d'un Service de type LoadBalancer. Tous les exemples utilisent des manifests YAML appliqués avec kubectl apply. Le Deployment exécute deux réplicas d'ACK-Cube, et le Service l'expose via un type LoadBalancer qui provisionne automatiquement une instance Server Load Balancer (SLB). Pour plus d'informations sur l'exposition des applications, consultez la rubrique Utiliser une instance SLB créée automatiquement pour exposer une application.

  1. Créez un fichier nommé ack-cube.yaml avec le contenu suivant :

    apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: ack-cube # The name of the application.
      labels:
        app: ack-cube
    spec:
      replicas: 2 # The number of replicated pods.
      selector:
        matchLabels:
          app: ack-cube  # You must specify the same value for the selector of the Service that is used to expose the application.
      template:
        metadata:
          labels:
            app: ack-cube
        spec:
          containers:
          - name: ack-cube
            image: registry.cn-hangzhou.aliyuncs.com/acr-toolkit/ack-cube:1.0 # Replace with the address of the image that you want to use in the <image_name:tags> format.
            ports:
            - containerPort: 80 # The container port that you want to expose.
            resources:
              limits: # The resource limits.
                cpu: '1'
                memory: 1Gi
              requests: # The resource requests.
                cpu: 500m
                memory: 512Mi
  2. Déployez l'application :

    kubectl apply -f ack-cube.yaml
  3. Vérifiez que le Deployment est en cours d'exécution :

    kubectl get deployment ack-cube

    Sortie attendue :

    NAME       READY   UP-TO-DATE   AVAILABLE   AGE
    ack-cube   2/2     2            2           96s
  4. Créez un fichier nommé ack-cube-svc.yaml avec le contenu suivant. La valeur du champ selector doit correspondre à la valeur matchLabels dans ack-cube.yaml (app: ack-cube) pour associer le Service à l'application backend.

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        app: ack-cube
      name: ack-cube-svc
      namespace: default
    spec:
      ports:
      - port: 80
        protocol: TCP
        targetPort: 80
      selector:
        app: ack-cube # You must specify the value of the matchLabels parameter in the YAML file that is used to create the Deployment.
      type: LoadBalancer
  5. Créez le Service pour exposer l'application. La création d'un Service LoadBalancer provisionne automatiquement une instance SLB accessible publiquement.

    kubectl apply -f ack-cube-svc.yaml
  6. Confirmez que le Service est en cours d'exécution et obtenez l'adresse IP publique. Cette opération peut prendre une minute pendant le provisionnement de l'instance SLB.

    kubectl get svc ack-cube-svc

    Sortie attendue :

    NAME           TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)        AGE
    ack-cube-svc   LoadBalancer   172.16.72.161   47.94.xx.xx   80:31547/TCP   32s
  7. Saisissez l'adresse EXTERNAL-IP (par exemple, 47.94.xx.xx) dans votre navigateur pour accéder au jeu Rubik's Cube.

Étape 3 : Nettoyer les ressources (facultatif)

Les coûts liés aux clusters ACK incluent les frais de gestion de cluster facturés par ACK ainsi que les frais pour les autres ressources Alibaba Cloud utilisées.

Pour supprimer le cluster, connectez-vous à la console ACKconsole ACKconsole ACKconsole ACK. Sur la page Clusters, recherchez votre cluster, cliquez sur More dans la colonne Actions, puis sélectionnez Delete. Sur la page Delete Cluster And Associated Resources, sélectionnez les ressources à supprimer et cliquez sur Delete. Pour plus d'informations, consultez la rubrique Supprimer un cluster.

Important

La protection contre la suppression est activée par défaut pour les clusters Intelligent Managed. Désactivez cette fonctionnalité avant de supprimer le cluster.

Étapes suivantes

  • Mise à l'échelle automatique : Si votre charge de travail présente des besoins en ressources imprévisibles ou variables — ce qui est courant pour les applications web, les services de jeux ou les plateformes d'éducation en ligne — configurez la mise à l'échelle automatique pour les charges de travail et les ressources du cluster. Consultez la rubrique Présentation de la mise à l'échelle automatique.

  • Routage de couche 7 : Pour gérer les règles de routage HTTP/HTTPS entre plusieurs services, utilisez un Ingress au lieu d'un Service. Consultez la rubrique Gestion des Ingress.

  • Observabilité : Surveillez l'infrastructure du cluster, les performances des applications et les métriques métier pour suivre l'état du système et diagnostiquer les problèmes. Consultez la rubrique Présentation du système d'observabilité.