O Alibaba Cloud Service Mesh (ASM) direciona o tráfego de entrada por um único gateway de entrada serverless para serviços de aplicação distribuídos em vários clusters Kubernetes na mesma Virtual Private Cloud (VPC). Essa arquitetura melhora a disponibilidade do serviço e reduz os custos de recursos computacionais.
Pré-requisitos
-
Dois clusters Container Service for Kubernetes (ACK) criados na mesma VPC. Este tutorial utiliza os clusters
m1c1em1c2. Para mais informações, consulte Criar um cluster dedicado ACK (descontinuado) ou Criar um cluster gerenciado ACK.NotaAo criar um cluster, utilize grupos de segurança avançados para simplificar a comunicação entre clusters.
Uma instância do ASM versão 1.18.0.139 ou posterior. Este tutorial utiliza a instância do ASM
mesh1. Para mais informações, consulte Criar uma instância do ASM.
Etapa 1: Verifique a comunicação entre clusters
Clusters na mesma VPC se comunicam por padrão quando ambos utilizam grupos de segurança avançados. Se algum cluster utilizar um grupo de segurança básico ou se os grupos de segurança não permitirem comunicação, configure regras para liberar o tráfego entre eles. Para mais informações, consulte Gerenciar regras de grupo de segurança.
Etapa 2: Adicione os clusters à instância do ASM e crie um gateway de entrada serverless
Adicione ambos os clusters à instância do ASM e crie um gateway de entrada serverless.
Adicione os dois clusters à instância do ASM. Para mais informações, consulte Adicionar um cluster a uma instância do ASM.
-
Crie um gateway de entrada serverless com a seguinte configuração YAML. Para mais informações, consulte Criar um gateway de entrada.
Etapa 3: Implante a aplicação Bookinfo nos clusters
Implante os microsserviços do Bookinfo em ambos os clusters. O cluster m1c2 executa a maioria dos serviços (details, ratings, reviews v1/v2 e productpage), enquanto o cluster m1c1 executa a versão v3 do microsserviço reviews e o serviço ratings.
-
Salve o conteúdo a seguir em um arquivo chamado
bookinfo-m1c2.yaml.NotaA versão v3 do microsserviço
reviewsexibe as classificações como estrelas vermelhas. -
Implante a aplicação Bookinfo (sem o microsserviço
reviewsv3) no clusterm1c2:kubectl apply -f bookinfo-m1c2.yaml -
Salve o conteúdo a seguir em um arquivo chamado
bookinfo-m1c1.yaml. -
Implante o microsserviço
reviewsv3 e o serviçoratingsno clusterm1c1:kubectl apply -f bookinfo-m1c1.yaml
Etapa 4: Adicione um serviço virtual e um gateway Istio
-
Crie um serviço virtual chamado
bookinfono namespacedefaultda instância do ASM. Para mais informações, consulte Gerencie serviços virtuais. -
Crie um gateway Istio chamado
bookinfo-gatewayno namespacedefaultda instância do ASM. Para mais informações, consulte Gerencie gateways Istio. Abra um navegador e acesse
http://{IP address of the serverless ingress gateway}/productpage. Atualize a página várias vezes. O tráfego se distribui aproximadamente na proporção 1:1:1 entre as três versões do microsserviçoreviews(v1, v2 e v3). A versão v3 funciona normalmente, mesmo executando em um cluster diferente dos demais microsserviços.
(Opcional) Etapa 5: Direcione todo o tráfego para o microsserviço reviews v3
Defina uma regra de destino e um serviço virtual para rotear todas as solicitações para a versão v3 do microsserviço reviews.
-
Crie uma regra de destino chamada
reviewsno namespacedefaultda instância do ASM. Para mais informações, consulte Gerencie regras de destino. -
Crie um serviço virtual chamado
reviewsno namespacedefaultda instância do ASM. Para mais informações, consulte Gerencie serviços virtuais. -
Abra um navegador e acesse
http://{IP address of the serverless ingress gateway}/productpage. Atualize a página várias vezes. Todas as solicitações agora são roteadas para a versão v3 do microsserviçoreviews. As classificações aparecem como estrelas vermelhas.