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 aumenta a disponibilidade do service e reduz os custos com recursos de computação.
Pré-requisitos
-
Dois clusters do Container Service for Kubernetes (ACK) criados na mesma VPC. Este tutorial utiliza os clusters
m1c1em1c2. Para mais informações, consulte Create an ACK dedicated cluster (discontinued) ou Create an ACK managed cluster.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 v1.18.0.139 ou posterior. Este tutorial usa a instância do ASM
mesh1. Para mais informações, consulte Create an ASM instance.
Etapa 1: Verifique a comunicação entre clusters
Dois clusters na mesma VPC se comunicam por padrão quando ambos utilizam grupos de segurança avançados. Caso algum cluster use 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 Manage security group rules.
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, em seguida, crie um gateway de entrada serverless.
Adicione os dois clusters à instância do ASM. Para mais informações, consulte Add a cluster to an ASM instance.
-
Crie um gateway de entrada serverless com a seguinte configuração YAML. Para mais informações, consulte Create an ingress gateway.
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 service virtual e um gateway Istio
-
Crie um service virtual chamado
bookinfono namespacedefaultda instância do ASM. Para mais informações, consulte Manage virtual services. -
Crie um gateway Istio chamado
bookinfo-gatewayno namespacedefaultda instância do ASM. Para mais informações, consulte Manage Istio gateways. 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 service 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 Manage destination rules. -
Crie um service virtual chamado
reviewsno namespacedefaultda instância do ASM. Para mais informações, consulte Manage virtual services. -
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.