Tous les produits
Search
Centre de documentation

:Préparatifs

Dernière mise à jour :Aug 11, 2026

Service Mesh (ASM) prend en charge deux modes sans sidecar : le mode Ambient Mesh et le mode Alibaba Centralized Mesh Gateway (ACMG). Cette rubrique explique comment déployer des exemples d'applications dans ces deux modes. Elle vous aide à préparer l'environnement à l'avance afin que vous puissiez découvrir les fonctionnalités des modes sans sidecar dès que possible.

Prérequis

  • Un cluster Container Service for Kubernetes (ACK) répondant aux conditions spécifiées a été créé. Pour plus d'informations, consultez la section « Clusters et configurations Kubernetes pris en charge » de la rubrique Limites.

  • Une instance ASM a été créée et le mode Ambient Mesh ou le mode ACMG a été activé.

    Dans la section Dataplane Mode de la page Create Service Mesh, sélectionnez Enable Ambient Mesh mode ou Enable ACMG Mode. Configurez les autres paramètres selon vos besoins professionnels. Pour plus d'informations, consultez la rubrique Créer une instance ASM.

  • Le cluster ACK a été ajouté à l'instance ASM. Pour plus d'informations, consultez la rubrique Ajouter un cluster à une instance ASM.

  • Une passerelle d'entrée a été créée. Pour plus d'informations, consultez la rubrique Créer une passerelle d'entrée.

Déployer des exemples d'applications

Dans cet exemple, l'application Bookinfo est déployée. Pour plus d'informations, consultez la rubrique Déployer une application sur un cluster associé à ASM.

Déployer des exemples d'applications dans le cluster ACK

  1. Connectez-vous à la console ASM. Dans le volet de navigation de gauche, choisissez Service Mesh > Mesh Management.

  2. Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, choisissez ASM Instance > Global Namespace.

  3. Activez le mode Ambient Mesh ou le mode ACMG.

    1. Mode Ambient Mesh

      1. Sur la page Global Namespace, localisez le namespace default et cliquez sur Switch to Ambient Mesh Mode dans la colonne Dataplane Mode. Dans le message Submit, cliquez sur OK.

    2. Mode ACMG

      1. Utilisez kubectl pour vous connecter à l'instance ASM en vous basant sur les informations du fichier kubeconfig et activez le mode ACMG.

        kubectl label namespace default istio.io/dataplane-mode=acmg
  4. Téléchargez le fichier YAML de l'application Bookinfo depuis le dépôt Istio sur GitHub. Ensuite, exécutez la commande suivante pour déployer l'application Bookinfo dans le namespace default :

    kubectl apply -f  bookinfo.yaml
  5. Déployez une application sleep.

    1. Créez un fichier sleep.yaml contenant le contenu suivant :

      Développer pour afficher le fichier YAML

      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: sleep
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: sleep
        labels:
          app: sleep
          service: sleep
      spec:
        ports:
        - port: 80
          name: http
        selector:
          app: sleep
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: sleep
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: sleep
        template:
          metadata:
            labels:
              app: sleep
          spec:
            terminationGracePeriodSeconds: 0
            serviceAccountName: sleep
            containers:
            - name: sleep
              image: curlimages/curl
              command: ["/bin/sleep", "infinity"]
              imagePullPolicy: IfNotPresent
              volumeMounts:
              - mountPath: /etc/sleep/tls
                name: secret-volume
            volumes:
            - name: secret-volume
              secret:
                secretName: sleep-secret
                optional: true
      ---
    2. Exécutez la commande suivante pour déployer l'application sleep dans le namespace default :

      kubectl apply -f  sleep.yaml
  6. Déployez une application notsleep.

    1. Créez un fichier notsleep.yaml contenant le contenu suivant :

      Développer pour afficher le fichier YAML

      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: notsleep
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: notsleep
        labels:
          app: notsleep
          service: notsleep
      spec:
        ports:
        - port: 80
          name: http
        selector:
          app: notsleep
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: notsleep
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: notsleep
        template:
          metadata:
            labels:
              app: notsleep
          spec:
            affinity:
              podAntiAffinity:
                preferredDuringSchedulingIgnoredDuringExecution:
                - weight: 100
                  podAffinityTerm:
                    labelSelector:
                      matchExpressions:
                      - key: app
                        operator: In
                        values:
                        - productpage
                    topologyKey: kubernetes.io/hostname 
            terminationGracePeriodSeconds: 0
            serviceAccountName: notsleep
            containers:
            - name: notsleep
              image: curlimages/curl
              command: ["/bin/sleep", "3650d"]
              imagePullPolicy: IfNotPresent
              volumeMounts:
              - mountPath: /etc/sleep/tls
                name: secret-volume
            volumes:
            - name: secret-volume
              secret:
                secretName: notsleep-secret
                optional: true
      ---
    2. Exécutez la commande suivante pour déployer l'application notsleep dans le namespace default :

      kubectl apply -f  notsleep.yaml

Déployer des ressources mesh dans l'instance ASM

  1. Créez un fichier bookinfo-gateway.yaml contenant le contenu suivant.

    Le fichier YAML sert à créer une passerelle Istio et un service virtuel.

    Développer pour afficher le fichier bookinfo-gateway.yaml

    apiVersion: networking.istio.io/v1alpha3
    kind: Gateway
    metadata:
      name: bookinfo-gateway
    spec:
      selector:
        istio: ingressgateway # use istio default controller
      servers:
      - port:
          number: 80
          name: http
          protocol: HTTP
        hosts:
        - "*"
    ---
    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
      name: bookinfo
    spec:
      hosts:
      - "*"
      gateways:
      - bookinfo-gateway
      http:
      - match:
        - uri:
            exact: /productpage
        - uri:
            prefix: /static
        - uri:
            exact: /login
        - uri:
            exact: /logout
        - uri:
            prefix: /api/v1/products
        route:
        - destination:
            host: productpage
            port:
              number: 9080
    
  2. Utilisez kubectl pour vous connecter à l'instance ASM en vous basant sur les informations du fichier kubeconfig, puis exécutez la commande suivante pour déployer les ressources mesh :

    kubectl apply -f bookinfo-gateway.yaml

Vérifier les fonctionnalités de base

  1. Exécutez les commandes suivantes pour configurer les variables d'environnement de la passerelle d'entrée :

    export GATEWAY_HOST=istio-ingressgateway.istio-system
    export GATEWAY_SERVICE_ACCOUNT=ns/istio-system/sa/istio-ingressgateway
  2. Exécutez les commandes suivantes pour tester si l'application Bookinfo fonctionne correctement avec ou sans passerelle d'entrée.

    1. Exécutez la commande suivante :

      kubectl exec deploy/sleep -- curl -s "http://$GATEWAY_HOST/productpage" | grep -o "<title>.*</title>"

      Sortie attendue :

      <title>Simple Bookstore App</title>
    2. Exécutez la commande suivante :

      kubectl exec deploy/sleep -- curl -s http://productpage:9080/ | grep -o "<title>.*</title>"

      Sortie attendue :

      <title>Simple Bookstore App</title>
    3. Exécutez la commande suivante :

      kubectl exec deploy/notsleep -- curl -s http://productpage:9080/ | grep -o "<title>.*</title>"

      Sortie attendue :

      <title>Simple Bookstore App</title>

      La sortie ci-dessus indique que l'application Bookinfo peut fonctionner correctement avec ou sans passerelle d'entrée.