Un proxy sidecar améliore la sécurité, la fiabilité et l'observabilité des appels de service. Pour les scénarios ne nécessitant pas ces fonctionnalités, Service Mesh vous permet de contourner sélectivement le proxy sidecar. Cette rubrique explique comment configurer le trafic entrant, le trafic sortant et le trafic vers des destinations spécifiques afin qu'ils contournent le proxy sidecar.
Prérequis
Une instance ASM est créée. Pour plus d'informations, consultez la page Créer une instance ASM.
Un cluster managé ACK est créé. Pour plus d'informations, consultez la page Créer un cluster managé ACK.
Une passerelle d'entrée (ingress gateway) est déployée. Pour plus d'informations, consultez la page Créer une passerelle d'entrée.
Configurer le contournement du sidecar pour le trafic entrant et sortant
Dans les scénarios sensibles aux performances, certains pods n'ont pas besoin de l'authentification de sécurité (telle que mTLS) ni des capacités offertes par Service Mesh via ASM. Cet exemple montre comment exclure le trafic entrant sur les ports 7001, 7002 et 7005 du proxy sidecar, tout en acheminant le trafic sortant sur ces mêmes ports à travers celui-ci. Cette approche réduit l'empreinte mémoire du istio-proxy et améliore les performances globales. Le trafic sortant étant toujours intercepté, vous pouvez continuer à utiliser les fonctionnalités de Service Mesh, comme l'équilibrage de charge.

Console ASM
Cet exemple illustre la configuration d'une politique d'interception du sidecar au niveau du namespace pour le namespace default, en utilisant les paramètres Ports on Which Outbound Traffic Redirected to Sidecar Proxy et Ports on Which Inbound Traffic Not Redirected to Sidecar Proxy.
Connectez-vous à la console ASM.
Dans le volet de navigation de gauche, accédez à .
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 .
Sur la page des détails de l'instance ASM, accédez à dans le volet de navigation de gauche.
Sur la page Configure the agent parameters of the injected Sidecar , cliquez sur l'onglet Namespace .
-
Sélectionnez le namespace default. Développez la section Enable/Disable Sidecar Proxy by Ports or IP Addresses en cliquant sur l'icône
, cochez la case, configurez les paramètres suivants, puis cliquez sur Update Settings .|
**Paramètre**
|
**Description**
| | --- | --- | |
**Ports on Which Outbound Traffic Redirected to Sidecar Proxy**
|
Définissez ce paramètre sur 7001,7002,7005.
| |
**Ports on Which Inbound Traffic Not Redirected to Sidecar Proxy**
|
Définissez ce paramètre sur 7001,7002,7005.
| -
Redémarrez les pods pour appliquer la configuration.
Connectez-vous à la console ACK . Dans le volet de navigation de gauche, cliquez sur Ports on Which Outbound Traffic Redirected to Sidecar Proxy .
Sur la page Ports on Which Inbound Traffic Not Redirected to Sidecar Proxy , cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, accédez à .
Sur la page Pods , localisez le pod cible et, dans la colonne Actions , accédez à .
-
Dans la boîte de dialogue, cliquez sur OK .
Attendez le redémarrage du conteneur.
Console ACK
Cet exemple montre comment configurer une politique d'interception du sidecar pour un pod individuel en ajoutant des annotations à un Deployment. Pour plus d'informations, consultez la page Configurer un proxy sidecar à l'aide d'annotations .
Connectez-vous à la console ACK . Dans le volet de navigation de gauche, cliquez sur Clusters .
Sur la page Clusters , cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, accédez à .
Sur la page Deployments , localisez l'application cible et cliquez sur Details dans la colonne Actions .
Dans le coin supérieur droit de la page des détails de l'application, cliquez sur View in YAML .
-
Dans la boîte de dialogue Edit YAML , ajoutez le contenu suivant sous le paramètre spec.template.metadata , puis cliquez sur Update .
annotations: traffic.sidecar.istio.io/excludeInboundPorts: '7001,7002,7005' traffic.sidecar.istio.io/includeOutboundPorts: '7001,7002,7005'template: metadata: annotations: traffic.sidecar.istio.io/excludeInboundPorts: '7001,7002,7005' traffic.sidecar.istio.io/includeOutboundPorts: '7001,7002,7005' -
Redémarrez les pods pour appliquer la configuration.
Connectez-vous à la console ACK . Dans le volet de navigation de gauche, cliquez sur Clusters .
Sur la page Clusters , cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, accédez à .
Sur la page Pods , localisez le pod cible et, dans la colonne Actions , accédez à .
-
Dans la boîte de dialogue, cliquez sur OK .
Attendez le redémarrage du conteneur.
Configurer le contournement pour des destinations spécifiques
Cet exemple montre comment configurer le proxy sidecar pour contourner le trafic vers la plage d'adresses 47.XX.XX.144/32.
Console ASM
Connectez-vous à la console ASM .
Dans le volet de navigation de gauche, accédez à .
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 .
Sur la page des détails de l'instance ASM, accédez à dans le volet de navigation de gauche.
-
Configurez la politique d'interception du sidecar au niveau global ou du namespace.
-
global
Sur la page Configure the agent parameters of the injected Sidecar , cliquez sur l'onglet global .
Développez la section Enable/Disable Sidecar Proxy by Ports or IP Addresses en cliquant sur l'icône
, définissez le paramètre Addresses to Which External Access Is Not Redirected to Sidecar Proxy sur 47.XX.XX.144/32, puis cliquez sur Update Settings .
-
Namespace
Sur la page Configure the agent parameters of the injected Sidecar , cliquez sur l'onglet Namespace .
Sélectionnez le namespace default. Développez la section Enable/Disable Sidecar Proxy by Ports or IP Addresses en cliquant sur l'icône
, cochez la case, définissez le paramètre Addresses to Which External Access Is Not Redirected to Sidecar Proxy sur 47.XX.XX.144/32, puis cliquez sur Update Settings .
-
-
Redémarrez les pods pour appliquer la configuration.
Connectez-vous à la console ACK . Dans le volet de navigation de gauche, cliquez sur Clusters .
Sur la page Clusters , cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, accédez à .
Sur la page Pods , localisez le pod cible et, dans la colonne Actions , accédez à .
-
Dans la boîte de dialogue, cliquez sur OK .
Attendez le redémarrage du conteneur.
Console ACK
Cet exemple montre comment configurer une politique d'interception du sidecar pour un pod individuel en ajoutant des annotations à un Deployment. Pour plus d'informations, consultez la page Configurer un proxy sidecar à l'aide d'annotations .
Connectez-vous à la console ACK . Dans le volet de navigation de gauche, cliquez sur Clusters .
Sur la page Clusters , cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, accédez à .
Sur la page Deployments , cliquez sur l'application cible.
Dans le coin supérieur droit de la page des détails de l'application, cliquez sur View in YAML .
-
Dans la boîte de dialogue Edit YAML , ajoutez le contenu suivant sous le paramètre spec.template.metadata , puis cliquez sur Update .
annotations: traffic.sidecar.istio.io/excludeOutboundIPRanges: 47.XX.XX.144/32template: metadata: annotations: traffic.sidecar.istio.io/excludeOutboundIPRanges: 47.XX.XX.144/32 -
Redémarrez les pods pour appliquer la configuration.
Connectez-vous à la console ACK . Dans le volet de navigation de gauche, cliquez sur Clusters .
Sur la page Clusters , cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, accédez à .
Sur la page Workloads , localisez le pod cible et, dans la colonne Pods , accédez à .
-
Dans la boîte de dialogue, cliquez sur More .
Attendez le redémarrage du conteneur.
Vérifier le résultat
Vous pouvez vérifier que le trafic contourne le proxy sidecar en définissant la stratégie Delete sur REGISTRY_ONLY. En mode REGISTRY_ONLY, le proxy sidecar bloque le trafic qu'il intercepte. Par conséquent, une connexion réussie confirme que le trafic a bien contourné le proxy.
Dans la console ASM , accédez à la page OK et cliquez sur l'onglet Outbound Traffic Policy .
Développez la section Configure the agent parameters of the injected Sidecar en cliquant sur l'icône
, sélectionnez REGISTRY_ONLY, puis cliquez sur global .-
Exécutez la commande suivante pour accéder à http://47.XX.XX.144/productpage.
curl -I http://47.XX.XX.144/productpageRésultat attendu : les en-têtes de réponse suivants sont renvoyés. Le code de statut
HTTP/1.1 200 OKindique que l'accès a réussi.HTTP/1.1 200 OK content-type: text/html; charset=utf-8 content-length: 5179 server: istio-envoy date: Thu, 07 Apr 2022 13:46:22 GMT x-envoy-upstream-service-time: 23Après avoir configuré 47.XX.XX.144/32 pour contourner le proxy sidecar, vous pouvez accéder avec succès à http://47.XX.XX.144/productpage. Vous pouvez configurer des adresses de destination spécifiques pour contourner le proxy sidecar selon vos besoins réels.