L'accélération des sidecars avec eBPF réduit la latence ajoutée par les proxies sidecar au trafic des pods. Elle utilise les opérations de socket eBPF (sockops) pour court-circuiter la communication TCP sur le même nœud en contournant la pile de protocoles TCP/IP. Cela s'applique au trafic entre un conteneur d'application et son proxy sidecar au sein du même pod, ainsi qu'au trafic entre les proxies sidecar situés sur le même nœud.
Fonctionnement
Lorsqu'un proxy sidecar est injecté dans un pod d'application au sein d'une instance Alibaba Cloud Service Mesh (ASM), tout le trafic entrant et sortant transite par ce proxy. Cela ajoute une légère latence à chaque requête.
L'accélération des sidecars avec eBPF intercepte les opérations de socket via sockops et redirige directement les données TCP entre les sockets, sans passer par l'intégralité de la pile de protocoles TCP/IP. Cette optimisation s'applique à deux chemins de trafic :
Au sein d'un pod : trafic entre le conteneur d'application et son proxy sidecar
Au sein d'un nœud : trafic entre les proxies sidecar sur le même nœud
Prérequis
Avant d'installer l'accélération des sidecars avec eBPF, assurez-vous que votre environnement répond aux exigences suivantes :
Version 1.10 ou ultérieure de l'instance ASM
Cluster ACK managé ou cluster ACK dédié (les autres types de clusters ne sont pas pris en charge)
Tous les nœuds sur lesquels vous souhaitez activer l'accélération doivent exécuter un noyau Linux 5,10 ou ultérieur. Utilisez des images de nœud Alibaba Cloud Linux 3 pour satisfaire cette exigence. Si votre cluster comporte des versions de noyau mixtes, l'accélération ne prendra effet que sur les nœuds exécutant un noyau 5,10 ou ultérieur. Les nœuds dotés de noyaux antérieurs, y compris les nœuds virtuels, continueront de fonctionner normalement ; ils ne bénéficieront simplement pas de l'accélération.
Installation de l'accélération des sidecars avec eBPF
Après l'installation, il est impossible de capturer les paquets TCP arborant l'indicateur PSH pour le trafic entre un conteneur d'application et son proxy sidecar sur l'interface de bouclage (loopback). Il en va de même pour les paquets avec indicateur PSH échangés entre les proxies sidecar sur le même nœud. Si vous dépendez de la capture de paquets pour le débogage ou la surveillance, tenez-en compte avant l'installation.
Créez une instance ASM. Pour plus d'informations, consultez la rubrique Créer une instance ASM.
Ajoutez votre cluster ACK à l'instance ASM. Lors de la création du cluster, utilisez des images Alibaba Cloud Linux 3 pour les nœuds. Pour plus d'informations, consultez la rubrique Ajouter un cluster à une instance ASM.
Connectez-vous à la console ACK. Repérez votre cluster et cliquez sur son nom. Choisissez Operations > Add-ons, puis cliquez sur l'onglet Networking. Repérez Sidecar Acceleration using eBPF et installez-le. Pour plus d'informations, consultez la rubrique Gérer les composants.
L'accélération des sidecars avec eBPF ne prend effet que dans le cluster où elle est installée. Si ASM gère plusieurs clusters ACK, installez le module complémentaire séparément dans chaque cluster.
FAQ
Comment vérifier que l'accélération des sidecars avec eBPF fonctionne ?
Lorsque l'accélération est active, les données TCP ne transitent plus par la pile de protocoles TCP/IP une fois la connexion établie. Par conséquent, les paquets arborant l'indicateur PSH cessent d'apparaître sur l'interface de bouclage. Pour déterminer si la communication est accélérée, utilisez un outil de capture de paquets tel que tcpdump afin de vérifier si des paquets avec l'indicateur PSH sont transmis sur la connexion TCP.
L'amélioration réelle des performances dépend de votre charge de travail et de votre environnement de déploiement.
L'accélération des sidecars avec eBPF accélère-t-elle le trafic entre les pods qui ne disposent pas de proxies sidecar ?
Non. L'accélération s'applique uniquement au trafic TCP entre un conteneur d'application et son proxy sidecar (au sein d'un pod), ainsi qu'entre les proxies sidecar situés sur le même nœud. Les pods dans lesquels aucun proxy sidecar n'a été injecté ne sont pas affectés.
L'accélération des sidecars avec eBPF accélère-t-elle les connexions TCP établies avant l'installation ?
Non. Seules les nouvelles connexions TCP établies après l'installation du module complémentaire sont accélérées. Les connexions préexistantes restent inchangées.
Historique des modifications
Septembre 2023
| Version | Date de publication | Description | Impact |
|---|---|---|---|
| 1.0.15 | 20 septembre 2023 | Lancement de l'accélération des sidecars avec eBPF. | Aucun impact. |