O APIG Ingress é um gateway de nível corporativo desenvolvido com base no Higress open source. Por ser compatível com o Nginx Ingress, ele atende a cenários de gerenciamento de API e microsserviços.
Conceitos de Ingress
Em um cluster Kubernetes, o Ingress oferece balanceamento de carga na Camada 7 para expor services internos. As regras de encaminhamento direcionam as requisições para os pods do Service de backend com base no conteúdo da requisição. Os recursos padrão de Ingress suportam apenas regras HTTP e não incluem funcionalidades avançadas, como algoritmos de balanceamento de carga e afinidade de sessão. Para usar esses recursos, utilize uma implementação de Ingress, como Nginx Ingress ou APIG Ingress.
Recursos do APIG Ingress
Como usar o APIG Ingress
Desenvolvido com base no gateway de API cloud-native, o APIG Ingress é uma evolução do MSE Cloud Native Gateway. Ele é compatível com mais de 50 anotações do Nginx Ingress, cobrindo mais de 90% dos casos de uso. Além disso, oferece implantações canário, governança de tráfego e proteção de segurança para aplicações cloud-native em grande escala. O APIG Ingress também disponibiliza anotações que vão além da compatibilidade com o Nginx Ingress. Advanced usage of APIG Ingress.
Após a implantação, o APIG Controller monitora os recursos ApigConfig e gerencia as instâncias do gateway, as configurações globais e as opções de listener de Ingress. O gateway converte os recursos de Ingress em configurações de governança de tráfego para expor os services internos. Crie e use um APIG Ingress para expor services.
O APIG Ingress é uma evolução do MSE Ingress. Nas regiões com suporte a ambos, o console do ACK mostra apenas as opções do APIG Ingress. Os usuários atuais do MSE Ingress podem continuar criando e gerenciando seus MSE Ingresses normalmente. Para usar o MSE Ingress, envie um ticket para entrar em contato com a equipe do APIG.
Como o APIG Ingress funciona
Componentes
-
APIG Controller:
O APIG Controller gerencia as instâncias e as configurações do gateway de API cloud-native. Ele opera em modo de bypass e não processa o tráfego de services, pois as instâncias do gateway processam todo o tráfego do plano de dados.
No cluster, instale o componente APIG Controller. Use o CRD ApigConfig para gerenciar as instâncias do gateway de forma declarativa e configure as opções de listener de Ingress.
-
Cloud-native API gateway:
O APIG Controller cria o gateway a partir do recurso ApigConfig. O gateway possui um plano de controle e um plano de dados.
Plano de controle: monitora os recursos Ingress, IngressClass e Service no cluster associado, analisa e envia as configurações para o plano de dados em tempo real.
Plano de dados: processa as requisições externas com base nas regras do plano de controle e as encaminha para os services de backend.
Como funciona
O APIG Controller monitora os recursos ApigConfig no cluster e gerencia o ciclo de vida e a associação ao cluster de cada instância do gateway.
O plano de controle do gateway obtém as alterações de Ingress no API server e atualiza as regras de roteamento. Quando uma requisição chega, o gateway a compara com as regras de Ingress e a encaminha para os pods do Service de backend.
Os principais recursos e componentes do Kubernetes são:
Service: uma abstração que representa uma ou mais instâncias idênticas de services de backend.
Ingress: regras de proxy reverso que direcionam requisições HTTP/HTTPS para os Services com base no host e no caminho da URL.
IngressClass: identifica a implementação de um controlador de Ingress. Use o campo Parameter para associar um ApigConfig que implementa as regras de tráfego a partir dos recursos de Ingress.
ApigConfig: um CRD fornecido pelo APIG Controller que define uma instância de gateway de API cloud-native.
APIG Controller: gerencia as instâncias e as configurações do gateway ao monitorar os recursos ApigConfig e coordenar o gateway para implementar as regras de tráfego de Ingress.
O diagrama a seguir mostra como o APIG Controller funciona.