A aceleração de sidecar com eBPF reduz a latência que os proxies sidecar adicionam ao tráfego dos pods. Esse recurso utiliza sockops do eBPF para criar um atalho na comunicação TCP no mesmo nó, ignorando a pilha de protocolos TCP/IP tanto no tráfego entre um contêiner de aplicação e seu proxy sidecar dentro do mesmo pod quanto na comunicação entre proxies sidecar no mesmo nó.
Como funciona
Ao injetar um proxy sidecar em um pod de aplicação em uma instância do Alibaba Cloud Service Mesh (ASM), todo o tráfego de entrada e saída passa pelo proxy. Isso adiciona uma pequena latência a cada requisição.
A aceleração de sidecar com eBPF intercepta operações de socket via sockops e redireciona os dados TCP diretamente entre os sockets, sem passar pela pilha completa de protocolos TCP/IP. Isso se aplica a dois caminhos de tráfego:
Dentro de um pod: tráfego entre o contêiner da aplicação e seu proxy sidecar
Dentro de um nó: tráfego entre proxies sidecar no mesmo nó
Pré-requisitos
Antes de instalar a aceleração de sidecar com eBPF, verifique se o seu ambiente atende aos seguintes requisitos:
Instância do ASM versão 1.10 ou posterior
Cluster gerenciado ACK ou cluster dedicado ACK (outros tipos de cluster não são suportados)
Todos os nós onde você deseja aplicar a aceleração devem executar o kernel Linux 5,10 ou posterior. Utilize imagens de nó do Alibaba Cloud Linux 3 para atender a esse requisito. Se o seu cluster tiver versões mistas de kernel, a aceleração só terá efeito nos nós que executam o kernel 5,10 ou posterior. Nós com kernels anteriores, incluindo nós virtuais, continuam funcionando normalmente, mas sem a aceleração.
Instale a aceleração de sidecar com eBPF
Após a instalação, pacotes TCP com a flag PSH referentes ao tráfego entre um contêiner de aplicação e seu proxy sidecar não podem ser capturados no dispositivo de loopback. O mesmo se aplica a pacotes com flag PSH entre proxies sidecar no mesmo nó. Se você depende da captura de pacotes para depuração ou monitoramento, considere essa limitação antes de prosseguir com a instalação.
Crie uma instância do ASM. Para mais informações, consulte Criar uma instância do ASM.
Adicione seu cluster ACK à instância do ASM. Ao criar o cluster, utilize imagens do Alibaba Cloud Linux 3 como imagens de nó. Para mais informações, consulte Adicionar um cluster a uma instância do ASM.
Faça login no console do ACK. Localize seu cluster e clique em seu nome. Escolha Operations > Add-ons, depois clique em na aba Networking. Encontre Sidecar Acceleration using eBPF e instale-o. Para mais informações, consulte Gerencie componentes.
A aceleração de sidecar com eBPF tem efeito apenas no cluster onde foi instalada. Se o ASM gerencia vários clusters ACK, instale o add-on em cada cluster separadamente.
Perguntas frequentes
Como verifico se a aceleração de sidecar com eBPF está funcionando?
Quando a aceleração está ativa, os dados TCP deixam de passar pela pilha de protocolos TCP/IP após o estabelecimento da conexão. Consequentemente, pacotes com a flag PSH param de aparecer no dispositivo de loopback. Para determinar se a comunicação está acelerada, use uma ferramenta de captura de pacotes como o tcpdump e verifique se pacotes com a flag PSH estão sendo transmitidos pela conexão TCP.
A melhoria real de desempenho depende da sua carga de trabalho e do ambiente de implantação.
A aceleração de sidecar com eBPF acelera o tráfego entre pods que não possuem proxies sidecar?
Não. A aceleração aplica-se apenas ao tráfego TCP entre um contêiner de aplicação e seu proxy sidecar (dentro de um pod) e entre proxies sidecar no mesmo nó. Pods sem proxies sidecar injetados não são afetados.
A aceleração de sidecar com eBPF acelera conexões TCP estabelecidas antes da instalação?
Não. Apenas novas conexões TCP estabelecidas após a instalação do add-on são aceleradas. Conexões pré-existentes permanecem inalteradas.
Histórico de alterações
Setembro de 2023
|
Versão |
Data de lançamento |
Descrição |
Impacto |
|
1.0.15 |
20 de setembro de 2023 |
Lançamento da aceleração de sidecar com eBPF. |
Sem impacto. |