Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:Manage workloads on ACK CloudBox nodes with ASM

Dernière mise à jour :Aug 11, 2026

CloudBox est un service cloud entièrement géré qui intègre le matériel et les logiciels d'Alibaba Cloud, y compris les ressources de calcul, de stockage et de réseau, au sein de votre centre de données sur site. Il vous offre ainsi la sécurité des données, un traitement local des données et un accès à faible latence. Lorsque vous ajoutez un cluster ACK disposant d'un pool de nœuds CloudBox à Service Mesh (ASM), ASM gère le trafic sur les pools de nœuds du cloud public et de CloudBox grâce à des règles de routage, des politiques de sécurité et des capacités d'observabilité unifiées.

Les sections suivantes détaillent le déploiement d'une passerelle d'entrée ASM dans une zone CloudBox et la vérification de la connectivité de bout en bout à l'aide d'un exemple d'application.

Vue d'ensemble du déploiement

La configuration s'effectue en trois étapes :

  1. Déployez une passerelle d'entrée dans la zone CloudBox -- Créez une ressource IstioGateway avec des annotations de zone afin que l'instance Classic Load Balancer (CLB) et le pod de la passerelle soient tous deux placés dans la zone CloudBox.

  2. Déployez une application et configurez le routage -- Planifiez l'application httpbin sur les nœuds CloudBox et acheminez le trafic via la passerelle d'entrée.

  3. Vérifiez la connectivité -- Envoyez des requêtes de test via la passerelle pour confirmer que le trafic atteint l'application.

Contraintes réseau de CloudBox

CloudBox restreint le fonctionnement des services de type LoadBalancer par rapport aux zones du cloud public. Les instances CLB d'une zone CloudBox ne peuvent utiliser que des instances Elastic Compute Service (ECS) CloudBox comme backends, tandis que les instances CLB d'une zone du cloud public ne peuvent utiliser que des instances ECS du cloud public. Les instances CLB CloudBox ne prennent pas en charge l'association d'Elastic IP Address (EIP), ce qui empêche la création d'un CLB exposé publiquement dans une zone CloudBox.

Fonctionnalité Zone du cloud public Zone CloudBox
Nœuds backend du LoadBalancer Instances ECS du cloud public uniquement Instances ECS CloudBox uniquement
Association d'EIP à un CLB Prise en charge Non pris en charge
CLB exposé publiquement Prise en charge Non pris en charge

En raison de ces contraintes, le CLB de la passerelle et le pod de la passerelle doivent résider dans la même zone. Un CLB situé dans une zone du cloud public ne peut pas acheminer le trafic vers des pods situés dans une zone CloudBox, et vice versa.

Prérequis

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

Déploiement d'une passerelle d'entrée dans la zone CloudBox

Pour placer la passerelle dans la zone CloudBox, configurez deux champs dans la spécification IstioGateway :

  • **serviceAnnotations** -- Épinglez l'instance CLB à la zone CloudBox et au commutateur virtuel.

  • **nodeSelector** -- Planifiez le pod de la passerelle sur les nœuds de la zone CloudBox. Vous pouvez également utiliser le champ affinity pour des règles de planification plus avancées.

Le fichier YAML suivant crée une passerelle d'entrée orientée intranet dans la zone CloudBox :

apiVersion: istio.alibabacloud.com/v1beta1
kind: IstioGateway
metadata:
  name: ingressgateway
  namespace: "istio-system"
spec:
  clusterIds:
    - <your-ack-cluster-id>
  externalTrafficPolicy: Local
  gatewayType: ingress
  ports:
  - name: http
    port: 80
    targetPort: 80
  - name: https
    port: 443
    targetPort: 443
  replicaCount: 2
  resources:
    limits:
      cpu: '2'
      memory: 2G
    requests:
      cpu: 200m
      memory: 256Mi
  serviceType: LoadBalancer
  serviceAnnotations:
    service.beta.kubernetes.io/alicloud-loadbalancer-address-type: intranet
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-vswitch-id: <cloudbox-vswitch-id>
    service.beta.kubernetes.io/alibaba-cloud-loadbalancer-master-zoneid: <cloudbox-zone-id>
  nodeSelector:
    topology.kubernetes.io/zone: <cloudbox-zone-id>
  rollingMaxSurge: "100%"
  rollingMaxUnavailable: "25%"

Remplacez les espaces réservés suivants par vos valeurs réelles :

Espace réservé Description Exemple
<your-ack-cluster-id> ID du cluster ACK c1a2b3c4d5e6f7890
<cloudbox-vswitch-id> ID du commutateur virtuel dans la zone CloudBox vsw-abc123def456
<cloudbox-zone-id> ID de la zone de la ressource CloudBox cn-hangzhou-cloudbox-a

Appliquez le fichier YAML en utilisant l'une des méthodes suivantes :

  • kubectl avec le kubeconfig ASM : Enregistrez le fichier YAML dans un fichier et exécutez kubectl apply -f <file>.yaml en utilisant le kubeconfig de l'instance ASM.

  • Console ASM : Créez la passerelle via YAML dans la console ASM. Pour plus d'informations, consultez la rubrique Gestion d'une passerelle d'entrée avec KubeAPI.

Vérification de la passerelle

Après avoir appliqué le fichier YAML, vérifiez que le pod de la passerelle est en cours d'exécution et que le CLB est provisionné :

# Check gateway pod status
kubectl get pods -n istio-system -l istio=ingressgateway

# Check the gateway Service and its external IP
kubectl get svc -n istio-system ingressgateway

Le pod de la passerelle doit être à l'état Running et le service doit disposer d'une adresse IP externe attribuée par le CLB dans la zone CloudBox.

Déploiement de l'application et configuration du routage

La passerelle créée à l'étape précédente est accessible uniquement depuis l'intranet et n'est pas joignable depuis Internet public. Assurez-vous que votre environnement de test dispose d'une connectivité au réseau VPC avant de poursuivre.

Suivez les étapes décrites dans la rubrique Déploiement de l'application httpbin pour :

  1. Déployer l'application httpbin sur le cluster ACK situé sur les nœuds CloudBox.

  2. Créer une ressource Gateway et une ressource VirtualService afin d'acheminer le trafic via la passerelle d'entrée.

Vérification de la connectivité de bout en bout

Après avoir déployé l'application et les règles de routage, envoyez une requête de test via la passerelle :

# Get the gateway IP
GATEWAY_IP=$(kubectl get svc -n istio-system ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')

# Send a test request
curl -I http://$GATEWAY_IP/status/200

Une réponse réussie renvoie un code HTTP 200, confirmant que le trafic circule correctement de la passerelle vers l'application httpbin hébergée sur les nœuds CloudBox.

Dépannage

Symptôme Cause possible Résolution
Le pod de la passerelle reste à l'état Pending Aucun nœud dans la zone CloudBox ne correspond au sélecteur nodeSelector Vérifiez que le pool de nœuds CloudBox est opérationnel et que l'ID de zone indiqué dans nodeSelector correspond à la zone CloudBox réelle.
Le CLB n'est pas provisionné L'ID du commutateur virtuel ou l'ID de zone dans serviceAnnotations est incorrect Vérifiez que alibaba-cloud-loadbalancer-vswitch-id et alibaba-cloud-loadbalancer-master-zoneid pointent vers des ressources CloudBox valides.
La requête curl expire Aucune connectivité VPC depuis l'environnement de test vers le CLB intranet Connectez-vous au VPC via VPN, Express Connect ou un serveur de rebond situé au sein du VPC.
Erreur HTTP 503 depuis la passerelle Le pod httpbin n'est pas en cours d'exécution ou l'injection sidecar n'est pas activée Vérifiez que le pod httpbin dispose d'un conteneur sidecar et qu'il est à l'état Running.

Rubriques connexes