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 :Aug 11, 2026

Alibaba Cloud Container Service for Kubernetes (ACK) est un service haute performance pour la gestion et l'exécution d'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 autorisations requises pour activer ACK et créer des clusters

  • Activation du service et autorisation pour ACK effectuées. Consultez la rubrique Création rapide d'un cluster ACK managé pour connaître la procédure complète de configuration.

  • Consultation des 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 conforme aux meilleures pratiques en un clic. Le cluster inclut un pool de nœuds géré intelligemment dont ACK gère automatiquement le cycle de vie. 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.

    image

  2. Sur la page qui s'affiche, cliquez sur l'onglet ACK Managed Cluster et activez 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 continuer.

    image

Étape 2 : Déployer l'application

L'application ACK-Cube utilise une image de conteneur publique. Pour l'extraire, 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 en utilisant CloudShell, Workbench ou un client kubectl local, puis déployez l'application à l'aide de manifestes 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. Sur l'onglet Basic Information, définissez le nom de l'application sur ack-cube.

  5. Cliquez sur Next. Sur l'onglet Container, définissez les paramètres suivants :

    Parameter Description Example value
    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 maximum 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

    image

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

    Parameter Description Example value
    Name Le nom du Service. ack-cube-svc
    Type Mode 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

    image

  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.

    succeed

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. Trouvez 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.

image

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 gratuitement un environnement Linux basé sur un navigateur avec des outils préinstallés. 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 en utilisant Workbench.

kubectl client

Utilisez un client kubectl local pour vous connecter via Internet.

  1. Installez et configurez 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 $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 manifestes 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 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. Cela 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 des clusters ACK incluent les frais de gestion de cluster facturés par ACK et 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, localisez 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.

image

Étapes suivantes

  • Mise à l'échelle automatique : Si votre charge de travail présente des besoins en ressources imprévisibles ou variables — 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 Aperçu 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 Aperçu du système d'observabilité.