Um egress gateway fornece um ponto de saída centralizado para o tráfego de saída do seu cluster Kubernetes. Quando os services na malha precisam acessar endpoints externos — seja na internet ou em outras redes internas — o egress gateway permite rotear todo o tráfego de saída por nós de gateway dedicados. Isso possibilita a aplicação centralizada de segurança, o isolamento de rede e a observabilidade do tráfego para chamadas externas.
Casos de uso
Aplicação centralizada de segurança: Roteie todo o tráfego de saída por nós de gateway dedicados para aplicar políticas de autorização e auditar o acesso externo a partir de um único ponto.
Isolamento de rede: Use o egress gateway como um ponto de saída centralizado para que os services na malha alcancem redes externas de forma controlada.
Observabilidade de tráfego: Canalize o tráfego de saída por um único ponto de saída para coletar métricas, logs e rastreamentos de todas as chamadas externas.
Limitações
O Horizontal Pod Autoscaler (HPA) para egress gateways requer o ASM Enterprise Edition ou Ultimate Edition.
Quando o mutual TLS (mTLS) está ativado, os pods sem proxies sidecar não conseguem rotear o tráfego pelo egress gateway.
Pré-requisitos
Antes de começar, certifique-se de ter:
Um cluster do Container Service for Kubernetes (ACK) adicionado à sua instância do ASM. Para mais informações, consulte The cluster is added to the ASM instance.
crie um egress gateway no console do ASM
Faça login no ASM console. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.
Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Egress Gateway.
Na página Egress Gateway, clique em Create.
-
Configure os parâmetros básicos descritos na tabela a seguir.
NotaPara definir o egress gateway em YAML, clique em Create from YAML na página Egress Gateway. Para obter a descrição dos campos, consulte CRD fields for an ASM gateway.
Parameter
Description
Name
O nome do egress gateway.
Cluster
O cluster onde implantar o egress gateway.
Port Mapping
As portas a expor. defina Protocol e Service Port para cada entrada. Duas portas comumente usadas aparecem por padrão. Mantenha, remova ou adicione portas conforme necessário.
Resources Limits
Os limites de cpu e memória para o pod do egress gateway.
Gateway instances
O número de réplicas de pod para o egress gateway.
-
(Opcional) clique em Advanced Options e configure os parâmetros descritos na tabela a seguir.
ImportanteQuando o mutual TLS está ativado, os pods sem proxies sidecar não podem acessar services externos por meio do egress gateway.
Parameter
Description
HPA
Ative o Horizontal Pod Autoscaler (HPA) para dimensionar as réplicas de pod automaticamente com base no uso de recursos. Configure os seguintes subparâmetros: Monitoring items e Threshold — o número de réplicas aumenta quando a métrica excede o limiar e diminui quando fica abaixo dele. Se você definir limiares tanto para a utilização de cpu quanto para o uso de memória, o excesso de qualquer uma das métricas em relação ao seu limiar acionará o dimensionamento. Maximum replicas — o limite superior de réplicas de pod. Minimum number of replicas — o limite inferior de réplicas de pod. Requer o ASM Enterprise Edition ou Ultimate Edition.
Rolling Upgrade
Ative as atualizações graduais para o egress gateway. Configure os seguintes subparâmetros: Maximum number of unavailable instances — o número máximo de pods que podem ficar indisponíveis durante uma atualização, para manter a continuidade do service. Exceeding the desired number of instances — o número máximo de pods extras permitidos durante uma atualização. Por exemplo, 25% significa que a contagem de pods não pode exceder 125% da contagem de réplicas desejada.
Deploy ASM Gateway replicas as widely as possible
defina
podAntiAffinitypara agendar os pods do gateway preferencialmente em nós diferentes, o que melhora a disponibilidade.Custom Deployment Policy
Configure os campos
nodeSelector,tolerationseaffinitypara o egress gateway. Para obter a descrição dos campos, consulte CRD fields for an ASM gateway.Support two-way TLS authentication
Ative o mutual TLS (mTLS) entre os proxies sidecar e o egress gateway. O mTLS permite aplicar políticas de autorização no tráfego de saída com base em identidades de service verificadas.
clique em Create. Quando o status do gateway mudar para Running, o egress gateway estará pronto. O campo Service address exibe o endereço IP do egress gateway.
gerencie um egress gateway
Após criar um egress gateway, gerencie-o pelo console do ASM.
visualize ou edite um egress gateway
Faça login no ASM console. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.
Na página Mesh Management, clique no nome da instância do ASM. No painel de navegação à esquerda, escolha ASM Gateways > Egress Gateway.
-
Na página Egress Gateway, use um dos seguintes métodos:
Console UI: clique em View Details ao lado do egress gateway. Na página Gateway Details, clique no ícone de edição ao lado do parâmetro a modificar, atualize o valor e clique em Submit.
YAML: clique em YAML ao lado do egress gateway. Na caixa de diálogo Edit, modifique a configuração YAML e clique em OK.
exclua um egress gateway
Após excluir um egress gateway, os services internos da instância do ASM não poderão mais acessar services externos por meio do egress gateway. Tenha cuidado ao executar esta operação.
Na página Egress Gateway, localize o egress gateway e clique em Delete.
Na caixa de diálogo de confirmação, clique em OK.
visualize um egress gateway no console do ACK
Os detalhes do egress gateway também estão disponíveis no console do ACK.
visualize informações do service
Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, escolha Network > Services.
Na página Services, selecione istio-system na lista suspensa Namespace.
Localize o service do egress gateway. Clique no nome do service para visualizar informações detalhadas.
visualize informações do pod
No painel de navegação à esquerda, escolha Workloads > Pods.
Na página Pods, selecione istio-system na lista suspensa Namespace.
Clique no pod do egress gateway para visualizar seus detalhes.
Próximos passos
Configure an egress gateway to route all outbound traffic in ASM -- Configure regras de roteamento para direcionar o tráfego de saída pelo egress gateway.
Use an egress traffic policy to manage egress traffic -- Personalize o gerenciamento de tráfego de saída com o CustomResourceDefinition (CRD) ASMEgressTrafficPolicy.
Observability -- Monitore o tráfego que flui pelo egress gateway.
Traffic security and dynamic certificate loading -- Proteja o tráfego de saída com certificados TLS.
Overview of ASM gateways -- Conheça todos os tipos e recursos de gateways do ASM.
Referências
CreateASMGateway API -- crie um egress gateway programaticamente.
CRD fields for an ASM gateway -- Referência completa para os campos de CRD do gateway do ASM.