Ao executar aplicações conteinerizadas em clusters de borda do Container Service for Kubernetes (ACK), é necessário ter controle centralizado sobre o roteamento de tráfego e a observabilidade entre clusters. O Service Mesh (ASM) estende o gerenciamento de tráfego baseado em Istio para ambientes de borda, oferecendo recursos como implantações canário, divisão de tráfego e visibilidade de ponta a ponta.
Pré-requisitos
Antes de começar, verifique se você possui:
Um cluster de borda do ACK. Para mais informações, consulte Criar um cluster ACK Edge no console
O serviço ASM ativado. Para ativar o ASM, acesse o console do ASM
Um ticket enviado para solicitar permissão para adicionar o cluster de borda do ACK à instância do ASM
Fluxo de configuração
A configuração completa envolve as seguintes etapas:
Crie uma instância do ASM
Adicione o cluster de borda do ACK à instância do ASM
Crie um gateway de entrada
Implante aplicações com injeção de sidecar
(Opcional) Defina recursos do Istio para roteamento de tráfego
Etapa 1: Criar uma instância do ASM
Faça login no console do ASM. No painel de navegação à esquerda, escolha Service Mesh > Mesh Management.
Na página Mesh Management, clique em Create ASM Instance.
-
Na página Create Service Mesh, configure os parâmetros descritos na tabela a seguir, leia e concorde com o Service Agreement e clique em Create Service Mesh. Para obter a lista completa de parâmetros, consulte Criar uma instância do ASM.
Parâmetro Descrição Region Selecione uma região próxima ao local onde o cluster de borda do ACK está implantado. Istio Version Escolha a versão 1,14 ou superior. VPC Selecione a Virtual Private Cloud (VPC) onde o cluster de borda do ACK reside. Uma instância do Classic Load Balancer (CLB) é associada ao Istio Pilot no plano de controle. A VPC do plano de dados deve estar conectada à VPC que hospeda a instância do CLB. Para mais informações, consulte Cloud Enterprise Network. vSwitch Selecione um vSwitch. Para criar um novo, clique em Create vSwitch. Para mais informações, consulte Criar e gerenciar um vSwitch. API Server access Especifique uma especificação de instância CLB para o servidor de API. A instância do ASM executa no Kubernetes, e o servidor de API define recursos da malha, como serviços virtuais, regras de destino e gateways do Istio. Uma instância de CLB interna é criada com a especificação selecionada. Marque ou desmarque Use EIP to expose API Server: - Marcado: Um Elastic IP Address (EIP) é criado e associado à instância de CLB interna. A porta 6443 fica exposta para acesso via Internet pelo arquivo kubeconfig. - Desmarcado: Nenhum EIP é criado. O acesso fica restrito à VPC onde o cluster reside.
A criação de uma instância do ASM leva de 2 a 3 minutos.
Etapa 2: Adicionar o cluster de borda do ACK à instância do ASM
Na página Mesh Management, localize a instância do ASM desejada. Clique no nome da instância ou em Manage na coluna Actions.
No painel de navegação à esquerda, escolha Cluster & Workload Management > Kubernetes Clusters. Na página exibida, clique em Add.
Na página Add Kubernetes Cluster, selecione Filter out Kubernetes clusters that are in the same VPC as the ASM instance, escolha o cluster de borda do ACK e clique em OK.
Após adicionar o cluster, o status da instância do ASM muda para Updating. Aguarde alguns segundos e clique no ícone de atualização no canto superior direito. Quando o cluster for adicionado com sucesso, o status mudará para Running. O tempo de espera varia conforme as condições de rede do cluster de borda do ACK. Visualize o cluster adicionado na página Kubernetes Clusters.
Etapa 3: Criar um gateway de entrada
O gateway de entrada funciona como o ponto único de entrada para tráfego da Internet ou da rede interna destinado às aplicações em execução no cluster de borda.
Na página de detalhes da instância do ASM, escolha ASM Gateways > Ingress Gateway no painel de navegação à esquerda.
-
Na página Ingress Gateway, clique em Create, configure os parâmetros descritos na tabela abaixo e clique novamente em Create. Para a lista completa de parâmetros, consulte Criar um gateway de entrada.
Parâmetro
Descrição
Cluster
Selecione o cluster de borda do ACK onde o gateway de entrada será implantado.
CLB Instance Type
Escolha entre Internet Access ou Private Access. Em seguida, defina se deseja Create a CLB Instance ou Use Existing CLB Instance.
Port Mapping
Especifique as portas a serem expostas. O valor da porta corresponde ao campo
portno arquivo YAML do serviço. Recomendamos definir o campotargetPortcom o mesmo valor do campoportem cada mapeamento. O ASM fornece duas portas padrão comumente usadas pelo Istio. Mantenha ou exclua os padrões e adicione novas portas conforme necessário. Após a criação do gateway de entrada, faça login no cluster de borda do ACK para verificar a implantação.
Etapa 4: Implantar aplicações
Ative a injeção automática de proxy sidecar. Para mais informações, consulte Gerenciar namespaces globais e Configurar políticas de injeção de proxy sidecar.
Implante as aplicações no cluster de borda do ACK usando kubectl ou o console do ACK. Para mais detalhes, consulte Implantar uma aplicação em um cluster ACK adicionado a uma instância do ASM.
Etapa 5 (opcional): Definir recursos do Istio
Depois de implantar as aplicações, defina recursos do Istio para controlar o roteamento de tráfego entre versões de serviço. Para mais informações, consulte Usar recursos do Istio para rotear tráfego para diferentes versões de um serviço.
Próximos passos
Roteamento de tráfego: Direcione o tráfego para diferentes versões de serviço por proporção, permitindo implantações canário e testes A/B. Para mais informações, consulte Usar recursos do Istio para rotear tráfego para diferentes versões de um serviço.
Gateway de entrada: Implante um gateway de entrada do ASM como ponto de acesso da Internet ou da rede interna às suas aplicações. Para mais informações, consulte Criar um gateway de entrada.
Topologia da malha: Visualize as relações de chamada e os fluxos de tráfego entre aplicações, serviços e versões de serviço. Para mais informações, consulte Ativar Topologia da Malha para melhorar a observabilidade.