Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:Access Istio resources via data plane KubeAPI

Dernière mise à jour :Aug 11, 2026

ASM vous permet d'effectuer des opérations de création, de lecture, de mise à jour et de suppression (CRUD) sur les ressources Istio via l'API Kubernetes (KubeAPI) des clusters du plan de données. Vous pouvez également utiliser Helm pour gérer vos applications. Cette rubrique explique comment accéder aux ressources Istio via la KubeAPI d'un cluster du plan de données.

Prérequis

Contexte

L'API Kubernetes est une interface programmatique basée sur les ressources, accessible via HTTP. Elle prend en charge les verbes HTTP standard (POST, PUT, PATCH, DELETE et GET) pour récupérer, créer, mettre à jour et supprimer les ressources principales du cluster, telles que les déploiements et les services. Pour plus d'informations, consultez la documentation Kubernetes API.

Notes

  • Nous vous recommandons d'utiliser cette fonctionnalité en mode mono-cluster. Si votre instance ASM dispose de plusieurs clusters du plan de données, vous pouvez effectuer des opérations CRUD sur les ressources Istio depuis n'importe lequel de ces clusters.

  • Une fois cette fonctionnalité activée, vous ne pouvez plus supprimer le namespace istio-system du cluster du plan de données. Pour supprimer ce namespace, vous devez d'abord retirer le cluster du plan de données de l'instance ASM.

  • Après l'activation de cette fonctionnalité, le plan de données nécessite une à deux minutes pour se préparer.

  • La suppression d'un namespace dans le plan de données n'entraîne pas la suppression du namespace correspondant ni de ses ressources Istio sur le plan de contrôle.

  • Pour effectuer des opérations CRUD sur les ressources Istio, le namespace cible doit exister dans le plan de données. Si le namespace existe uniquement sur le plan de contrôle, vous devez d'abord le créer dans le plan de données. Dans le cas contraire, un message d'erreur similaire au suivant s'affiche :

    Error from server (NotFound): error when creating "xx.yaml": namespaces "daily-01" not found
  • Si vous créez une ressource Istio dans un namespace du plan de données et que ce namespace n'existe pas sur le plan de contrôle ASM, le namespace est automatiquement créé sur le plan de contrôle.

  • Les ressources Istio créées via la KubeAPI d'un cluster du plan de données sont stockées sur le plan de contrôle. Par conséquent, lors de la création ou de la mise à jour d'une ressource Istio, n'ajoutez pas de champ ownerReferences pointant vers une ressource du plan de données. Sinon, la ressource Istio sur le plan de contrôle risque d'être supprimée par le garbage collector, car son propriétaire est introuvable.

Activer l'accès à la KubeAPI du plan de données

Pour les nouvelles instances ASM

Pour les instances créées après novembre 2024, cette fonctionnalité est activée par défaut. Pour les instances créées avant cette date, suivez les étapes décrites dans la section Pour les instances ASM existantes.

Pour les instances ASM existantes

  1. Connectez-vous à la console ASM.

  2. Dans le volet de navigation de gauche, sélectionnez Service Mesh > Mesh Management.

  3. Sur la page Mesh Management, localisez l'instance ASM à configurer. Cliquez sur le nom de l'instance ASM ou sur Manage dans la colonne Actions.

  4. Sur la page Basic Information, cliquez sur Enable à côté de Enable Data-plane KubeAPI access.

  5. Dans la boîte de dialogue Confirm to enable data-plane cluster KubeAPI access, cliquez sur OK.

Cas d'utilisation 1 : Gérer les ressources Istio avec kubectl

Une fois l'accès à la KubeAPI du plan de données activé, vous pouvez vous connecter à un cluster du plan de données à l'aide de kubectl, puis utiliser le fichier KubeConfig du cluster pour créer, interroger, modifier et supprimer des ressources Istio. Cette section utilise un VirtualService comme exemple.

  • Pour créer un VirtualService, exécutez la commande suivante :

    kubectl apply -f <VirtualService-YAML-filename>
  • Pour interroger les VirtualServices, exécutez la commande suivante :

    kubectl get VirtualService
  • Pour modifier un VirtualService, exécutez la commande suivante :

    kubectl edit VirtualService <VirtualService-name>
  • Pour supprimer un VirtualService, exécutez la commande suivante :

    kubectl delete VirtualService <VirtualService-name>

Cas d'utilisation 2 : Déployer des applications avec Helm

Une fois l'accès à la KubeAPI du plan de données activé, Helm peut utiliser le fichier KubeConfig du cluster pour installer simultanément des applications sur le cluster et déployer des ressources Istio sur ASM.

  1. Connectez-vous au cluster ACK à l'aide de kubectl. Pour plus d'informations, consultez la rubrique Obtenir le fichier kubeconfig d'un cluster et utiliser kubectl pour se connecter au cluster.

  2. Installez Helm sur votre machine locale. Pour plus d'informations, consultez la documentation Helm.

    Remarque

    Après vous être connecté au cluster avec kubectl, le client Helm utilise automatiquement le même fichier KubeConfig pour se connecter au cluster.

  3. Téléchargez et extrayez le Helm chart d'exemple istio-bookinfo.

  4. Accédez au répertoire istio-bookinfo et exécutez la commande suivante pour installer l'application :

    helm install -f values.yaml istio-bookinfo ./

    Résultat attendu :

    NAME:istio-bookinfo
    LAST DEPLOYED:THU May 26 16:44:19 2022
    NAMESPACE:default
    STATUS:deployed
    REVISION:1
    TEST SUITE:None
  5. Vérifiez le déploiement.

    1. Vérifiez l'application Bookinfo dans la console ACK.

      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 de votre cluster. Dans le volet de navigation de gauche, sélectionnez Workloads > Deployments.

      3. Sur la page Deployments, définissez le Namespace sur default.

        Vous pouvez voir les applications installées par Helm, telles que details, productpage et ratings.

        Remarque

        Dans le volet de navigation de gauche de la page de gestion du cluster, sélectionnez Application > Helm. Sur la page Helm, vous pouvez afficher la version Helm.

        Cela inclut les versions reviews-v1 et reviews-v2. Chaque déploiement affiche 1/1 pods, ce qui indique que l'application d'exemple Bookinfo fonctionne comme prévu.

    2. Vérifiez le VirtualService et la Gateway dans la console ASM.

      1. Connectez-vous à la console ASM.

      2. Dans le volet de navigation de gauche, sélectionnez Service Mesh > Mesh Management.

      3. Sur la page Mesh Management, localisez l'instance ASM à configurer. Cliquez sur le nom de l'instance ASM ou sur Manage dans la colonne Actions.

      4. Dans le volet de navigation de gauche de la page des détails du maillage, sélectionnez Traffic Management Center > Virtual Service.

        Sur la page VirtualService, le VirtualService bookinfo installé par Helm s'affiche. Cette page répertorie les ressources VirtualService existantes avec leurs namespaces, les services associés, les étendues et les heures de création. Vous pouvez créer un nouveau VirtualService en cliquant sur Create ou Create with YAML, ou gérer les ressources existantes à l'aide des options View YAML, Version Management et Delete.

      5. Dans le volet de navigation de gauche de la page des détails du maillage, sélectionnez ASM Gateways > Gateway.

        Sur la page Gateway, la Gateway bookinfo-gateway installée par Helm s'affiche. Cette page répertorie les ressources Gateway existantes avec leurs noms de règle, namespaces, sélecteurs d'instances de gateway, protocoles et ports. Vous pouvez créer une nouvelle Gateway en cliquant sur Create ou Create with YAML, ou gérer les ressources existantes à l'aide des options View YAML, Version Management et Delete.

Opérations connexes

  • Exécutez la commande suivante pour afficher la liste des versions Helm :

    helm list
  • Exécutez la commande suivante pour mettre à jour un Helm chart :

    helm upgrade -f values.yaml istio-bookinfo ./