Service Mesh (ASM) oferece uma interface gráfica (GUI) intuitiva para gateways. Crie regras de destino e serviços virtuais diretamente no console, sem escrever arquivos YAML, para simplificar o gerenciamento de tráfego. Este tópico descreve como criar políticas de tráfego e regras de roteamento pela GUI.
Pré-requisitos
A injeção automática de sidecar está ativada para o namespace. Para mais informações, consulte Ativar injeção automática.
Um gateway de entrada está implantado. Para mais informações, consulte Criar um gateway de entrada.
Uma aplicação está implantada no cluster associado à instância ASM. Para mais informações, consulte Implantar uma aplicação em um cluster associado ao ASM.
Obtenha o endereço do gateway ASM. Para mais informações, consulte Obter o endereço de um gateway de entrada.
Visão geral
Este tópico usa o serviço reviews como exemplo para demonstrar a configuração de políticas de tráfego, como balanceamento de carga e pools de conexões, pela GUI. Após criar uma política de tráfego, o sistema gera automaticamente um arquivo YAML correspondente à regra de destino. O tópico também aborda a criação de regras de roteamento para caminhos no serviço Bookinfo, como /productpage e /login. Isso permite acessar o serviço Bookinfo por caminhos como /productpage.
Criar um domínio
Faça login no console ASM. No painel de navegação à esquerda, escolha .
Na página Mesh Management, clique em nome da instância ASM. No painel de navegação à esquerda, escolha .
Na página Ingress Gateway, clique em nome do gateway desejado. No painel de navegação à esquerda da página de visão geral do gateway, clique em Domain/Certificate.
-
Na página Add domain, configure os parâmetros abaixo e clique em Create.
Parâmetro
Exemplo
Domain
*
Protocol
HTTP
Namespaces
default
Port Name
http
Port
80
Importar um serviço upstream
Importe serviços upstream para o gateway ASM.
Na página Ingress Gateway, clique em nome do gateway desejado. No painel de navegação à esquerda da página de visão geral do gateway, clique em Upstream Service.
Na página Upstream Service, clique em Import service. Na página Import service, selecione um Namespaces, marque os serviços reviews e productpage, clique em ícone
e clique em Confirm.
Criar uma política de tráfego
-
Gerencie as versões do serviço.
Neste exemplo, as instâncias do serviço reviews são agrupadas em três versões: v1, v2 e v3.
Na página Upstream Service, localize o serviço reviews e clique em versions na coluna Operator.
Na página versions, clique em Add Service Version (Subset), defina Name como v1, clique em Add Label, defina Key como version e defina Value como v1.
Clique em Add Service Version (Subset), defina Name como v2, clique em Add Label, defina Key como version e defina Value como v2.
Clique novamente em Add Service Version (Subset), defina Name como v3, clique em Add Label, defina Key como version e defina Value como v3. Em seguida, clique em Create.
-
Crie uma política de tráfego.
Na página Upstream Service, localize o serviço reviews e clique em traffic policy na coluna Operator.
Na página traffic policy, clique em Add Policy, selecione Subset Level e escolha a versão v3. Ative a chave Load Balancing, selecione Simple, defina Mode como Random e clique em Submit.
-
(Opcional) Visualize o arquivo YAML da regra de destino gerado durante a criação da política de tráfego.
Na página Upstream Service, localize o serviço reviews e clique em View YAML na coluna Operator. Na caixa de diálogo Preview, visualize o arquivo YAML. Após confirmar o conteúdo, clique em Confirm.
NotaAlternativamente, no painel de navegação à esquerda da página de detalhes da malha, escolha . Na página DestinationRule, localize a regra de destino desejada e clique em View YAML na coluna Operator. Na caixa de diálogo Edit, visualize o arquivo YAML gerado para a regra de destino.
Criar regras de roteamento
-
Crie as regras de roteamento.
-
Crie uma regra de roteamento para
/productpage.No painel de navegação à esquerda da página de visão geral do gateway, clique em Route management e clique em Create.
-
No assistente set route detail, configure os parâmetros e clique em Next.
Parâmetro
Exemplo
route type
Neste exemplo, selecione http.
Namespaces
Neste exemplo, selecione default.
route name
Neste exemplo, insira
productpage-route.description
Neste exemplo, insira
productpage route.priority
Neste exemplo, insira
3.NotaAs regras de roteamento são priorizadas por número. Um número menor indica maior prioridade. Se uma URI de solicitação corresponder a várias regras de roteamento, o ASM aplica aquela com a maior prioridade.
Matching rules
Configure a correspondência de URL. Somente solicitações de URLs que atendem aos requisitos podem ser roteadas para o serviço de destino.
Ative a chave Matching request URI. Defina Method como Exact e Content como
/productpage.NotaVocê também pode clicar em Add Header Matching Rule para configurar a correspondência de cabeçalho.
-
No assistente set route destination, configure os parâmetros e clique em Next.
Parâmetro
Exemplo
select upstream service
Selecione o serviço ao qual a regra de roteamento se aplica. Neste exemplo, selecione productpage.
Port
Opcional. A porta exposta pelo serviço upstream. Necessário apenas se o serviço expuser mais de uma porta. Neste exemplo, deixe este parâmetro vazio.
Subset
Especifica a versão do serviço (subset) à qual a regra de roteamento se aplica. Deixe este campo vazio neste exemplo.
Weight
Especifica o peso do tráfego para o serviço de destino. Deixe este campo vazio neste exemplo.
No assistente advanced config, ative a chave Fault Injection. Em seguida, ative a chave Request Latency, defina Latency como 4s e Injection Percentage como 100, e clique em Create.
-
Crie uma regra de roteamento para
/static.Na página Route management, clique em Create.
-
No assistente set route detail, configure os parâmetros e clique em Next.
Parâmetro
Exemplo
route type
Neste exemplo, selecione http.
Namespaces
Neste exemplo, selecione default.
route name
Neste exemplo, insira
static.description
Neste exemplo, insira
static resource.priority
Neste exemplo, insira
0.Matching rules
Configure a correspondência de URL. Somente solicitações de URLs que atendem aos requisitos podem ser roteadas para o serviço de destino.
Ative a chave Matching request URI. Defina Method como Prefix e Content como
/static. Os passos para criar a rota
/staticsão idênticos aos da rota/productpage. Para detalhes, consulte Criar a rota productpage.
-
Crie uma regra de roteamento para
/login.Na página Route management, clique em Create.
-
No assistente set route detail, configure os parâmetros e clique em Next.
Parâmetro
Exemplo
route type
Neste exemplo, selecione http.
Namespaces
Neste exemplo, selecione default.
route name
Neste exemplo, insira
login.description
Neste exemplo, insira
login request route.priority
Neste exemplo, insira
0.Matching rules
Configure a correspondência de URL. Somente solicitações de URLs que atendem aos requisitos podem ser roteadas para o serviço de destino.
Ative a chave Matching request URI. Defina Method como Prefix e Content como
/login. Os passos subsequentes para criar a rota
/loginseguem o mesmo procedimento da rota/productpage. Para os passos detalhados, consulte Criar a rota productpage.
-
Crie uma regra de roteamento para
/logout.Na página Route management, clique em Create.
-
No assistente set route detail, configure os parâmetros e clique em Next.
Parâmetro
Exemplo
route type
Neste exemplo, selecione http.
Namespaces
Neste exemplo, selecione default.
route name
Neste exemplo, insira
logout.description
Neste exemplo, insira
logout route.priority
Neste exemplo, insira
0.Matching rules
Configure a correspondência de URL. Somente solicitações de URLs que atendem aos requisitos podem ser roteadas para o serviço de destino.
Ative a chave Matching request URI. Defina Method como Prefix e Content como /logout.
Os passos subsequentes para criar a rota /logout seguem o mesmo procedimento da rota /productpage. Para os passos detalhados, consulte Criar a rota productpage.
-
Crie uma regra de roteamento para
/api/v1/products.Na página Route management, clique em Create.
-
No assistente set route detail, configure os parâmetros e clique em Next.
Parâmetro
Descrição
route type
Neste exemplo, selecione http.
Namespaces
Neste exemplo, selecione default.
route name
Neste exemplo, insira
products-route.description
Neste exemplo, insira
product information.priority
Neste exemplo, insira
0.Matching rules
Configure a correspondência de URL. Somente solicitações de URLs que atendem aos requisitos podem ser roteadas para o serviço de destino.
Ative a chave Matching request URI. Defina Method como Prefix e Content como
/api/v1/products. Os passos subsequentes para criar a rota
/api/v1/productsseguem o mesmo procedimento da rota/productpage. Para detalhes, consulte Criar a rota productpage.
-
-
Verifique as regras de roteamento.
-
Na barra de endereços do navegador, insira
http://{IP address of the ingress gateway}/productpage.A página de produto da aplicação de exemplo Bookinfo será exibida. Ela inclui um resumo do livro The Comedy of Errors, Book Details (como gênero, contagem de páginas, editora e idioma) e Book Reviews (incluindo classificações e comentários). Isso confirma que a regra de roteamento funciona corretamente.
No canto superior direito da página do Bookinfo, clique em Sign in.
-
Na página Please sign in, insira qualquer nome de usuário e senha e clique em Sign in.
O login no Bookinfo será realizado com sucesso. Após o login, a página de produto da aplicação Bookinfo será exibida. O nome de usuário default aparecerá no canto superior direito, e os detalhes e avaliações do livro serão mostrados corretamente. Isso indica que o serviço está acessível.
Para verificar outras rotas, acesse o serviço Bookinfo utilizando caminhos como /logout, /static e /api/v1/products.
Abra as ferramentas de desenvolvedor do navegador e alterne para a aba de rede.
-
Atualize a página.
Um atraso de aproximadamente 4 segundos será observado. No painel Network das ferramentas de desenvolvedor do navegador, a solicitação
productpageleva cerca de 4,21 segundos, enquanto outros recursos estáticos, como CSS, JS e arquivos de fonte, levam 0 ms. Isso confirma que a política de injeção de falhas funciona corretamente.
-
-
(Opcional) Visualize o arquivo YAML do serviço virtual gerado após a criação das regras de roteamento.
Na página de detalhes da instância ASM, escolha no painel de navegação à esquerda.
Na página Virtual Service, localize o serviço virtual desejado e clique em View YAML na coluna Operator.
Na caixa de diálogo Edit, visualize o arquivo YAML gerado para o serviço virtual. Após confirmar o conteúdo, clique em OK.
Operações relacionadas
Visualizar detalhes do serviço
Visualize detalhes de um serviço importado, como status de injeção de sidecar e região.
Na página Ingress Gateway, clique em nome do gateway desejado. No painel de navegação à esquerda da página de visão geral do gateway, clique em Upstream Service.
Na página Upstream Service, localize o serviço desejado e clique em service details na coluna Operator. Na página service details, visualize os detalhes do serviço, como status de injeção de sidecar e região.
Colocar regra de roteamento offline
Desative uma regra de roteamento colocando-a offline.
Na página Ingress Gateway, clique em nome do gateway desejado.
No painel de navegação à esquerda da página de visão geral do gateway, clique em Route management.
Na página Route management, localize a regra de roteamento desejada e clique em offline na coluna Operator.
Na caixa de diálogo Confirm, clique em OK.
-
Verifique se a regra de roteamento está offline.
Na barra de endereços do navegador, insira
http://{IP address of the ingress gateway}/productpage.No canto superior direito da página do Bookinfo, clique em Sign in.
-
Na página Please sign in, insira qualquer nome de usuário e senha e clique em Sign in.
Um erro de "página não encontrada" será exibido, confirmando que a regra de roteamento está inativa.
NotaPara reativar a regra, coloque-a online:
Na página Route management, localize a regra de roteamento desejada e clique em online na coluna Operator. Na caixa de diálogo Confirm, clique em OK.