Configurar o Spring Cloud Gateway do VMware
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano consumo e dedicado Standard será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Este artigo se aplica a: ❎ Básico/Standard ✅ Enterprise
Esse artigo mostra como configurar o Spring Cloud Gateway da VMware para a VMware Tanzu com o plano Enterprise dos Aplicativos Spring do Azure.
O Spring Cloud Gateway do VMware é um componente comercial do VMware Tanzu baseado no projeto do Spring Cloud Gateway de código aberto. O Spring Cloud Gateway da VMware para Tanzu cuida de preocupações variadas das equipes de desenvolvimento de API, como logon único (SSO), controle de acesso, limitação de taxa, resiliência, segurança, entre outros. Você pode acelerar a entrega de API usando padrões nativos de nuvem modernos em sua escolha de linguagem de programação para desenvolvimento de API.
Uma instância do Spring Cloud Gateway da VMware encaminha o tráfego de acordo com as regras. Ela dá suporte à escala horizontal/vertical e à escala para cima/para baixo para atender a uma carga de tráfego dinâmico.
O Spring Cloud Gateway do VMware inclui os seguintes recursos:
- Configuração de roteamento dinâmico, independente de aplicativos individuais, que você pode aplicar e alterar sem recompilar
- Filtros de rota de API comercial para transporte de declarações Token Web JSON (JWT) autorizadas para os serviços de aplicativo
- Autorização de certificado do cliente
- Abordagens de limitação de taxa
- Configuração do disjuntor
- Suporte para acessar serviços de aplicativo usando as credenciais de Autenticação HTTP Básica.
Para a integração com o portal de API do VMware Tanzu, o Spring Cloud Gateway da VMware gera automaticamente a documentação do OpenAPI versão 3 após quaisquer adições ou alterações na configuração da rota. Para obter mais informações, consulte Usar o portal de API do VMware Tanzu.
Pré-requisitos
- Uma instância de serviço já provisionada do plano Enterprise dos Aplicativos Spring do Azure com o Spring Cloud Gateway da VMware habilitado. Para obter mais informações, confira Início Rápido: criar e implantar aplicativos nos Aplicativos Spring do Azure usando o plano Enterprise.
- CLI do Azure versão 2.0.67 ou posterior. Use o seguinte comando para instalar a extensão dos Aplicativos Spring do Azure:
az extension add --name spring
.
Habilitar ou desabilitar o Spring Cloud Gateway da VMware
Você pode habilitar ou desabilitar o Spring Cloud Gateway da VMware após a criação da instância de serviço usando o portal do Azure ou a CLI do Azure. Antes de desabilitar o Spring Cloud Gateway da VMware, você deve cancelar a atribuição de seu ponto de extremidade e remover todas as configurações de rota.
Use as seguintes etapas para habilitar ou desabilitar o Spring Cloud Gateway da VMware usando o portal do Azure:
- Acesse o recurso de serviço e selecione Spring Cloud Gateway.
- Selecione Gerenciar.
- Selecione ou desmarque a caixa de seleção Habilitar o Spring Cloud Gateway e, em seguida, selecione Salvar.
Agora você pode exibir o estado do Spring Cloud Gateway na página do Spring Cloud Gateway.
Reinicie o Spring Cloud Gateway da VMware
Depois de concluir a ação de reinicialização, as instâncias do Spring Cloud Gateway da VMware são reiniciadas sem interrupção.
Use as seguintes etapas para reiniciar o Spring Cloud Gateway da VMware usando o portal do Azure:
- Acesse o recurso de serviço e selecione Spring Cloud Gateway.
- Selecione Reiniciar.
- Selecione OK para confirmar a alteração.
Como atribuir um ponto de extremidade público ao Spring Cloud Gateway da VMware
Esta seção descreve como atribuir um ponto de extremidade ao Spring Cloud Gateway da VMware e configurar suas propriedades.
Para atribuir um ponto de extremidade no portal do Azure, use as seguintes etapas:
- Abra sua instância dos Aplicativos Spring do Azure.
- Selecione Spring Cloud Gateway no painel de navegação e selecione Visão geral.
- Defina Atribuir ponto de extremidade como Sim.
Após alguns minutos, a URL mostra a URL do ponto de extremidade configurada. Salve-a para uso posterior.
Configurar os metadados do Spring Cloud Gateway do VMware
Os metadados do Spring Cloud Gateway da VMware geram automaticamente a documentação do OpenAPI versão 3. Você pode configurar metadados do Spring Cloud Gateway da VMware para exibir grupos de rotas no portal de API da VMware Tanzu. Para obter mais informações, consulte Usar o portal de API da VMware Tanzu.
A tabela a seguir descreve as opções de metadados disponíveis:
Propriedade | Descrição |
---|---|
title |
Um título que descreve o contexto das APIs disponíveis na instância do Spring Cloud Gateway da VMware. O valor padrão é Spring Cloud Gateway for K8S . |
description |
Uma descrição detalhada das APIs disponíveis na instância do Spring Cloud Gateway da VMware. O valor padrão é Generated OpenAPI 3 document that describes the API routes configured for '[Gateway instance name]' Spring Cloud Gateway instance deployed under '[namespace]' namespace.*. |
documentation |
O local da documentação da API disponível na instância do Spring Cloud Gateway da VMware. |
version |
A versão das APIs disponíveis nesta instância do Spring Cloud Gateway da VMware. O valor padrão é unspecified . |
serverUrl |
A URL base para acessar APIs na instância do Spring Cloud Gateway da VMware. Essa propriedade é obrigatória se você quiser se integrar ao portal de API. |
Você pode usar o portal do Azure ou a CLI do Azure para editar propriedades de metadados.
Para editar metadados no portal do Azure, use as seguintes etapas:
- Abra sua instância dos Aplicativos Spring do Azure.
- Selecione Spring Cloud Gateway no painel de navegação e selecione Configuração.
- Especifique valores para as propriedades listadas para API.
- Selecione Salvar.
Configurar logon único
O Spring Cloud Gateway da VMware dá suporte à autenticação e autorização por meio de logon único (SSO) com um provedor de identidade OpenID. O provedor dá suporte ao protocolo de Descoberta do OpenID Connect. A tabela a seguir descreve as propriedades do SSO:
Propriedade | Necessário? | Descrição |
---|---|---|
issuerUri |
Sim | O URI declarado como o Identificador do Emissor. Por exemplo, se issuerUri for https://example.com , uma Solicitação de Configuração do Provedor OpenID é feita para https://example.com/.well-known/openid-configuration . Espera-se que o resultado seja uma resposta de configuração do Provedor OpenID. |
clientId |
Yes | A ID do cliente do OpenID Connect do seu provedor de identidade. |
clientSecret |
Yes | O segredo do cliente do OpenID Connect do seu provedor de identidade. |
scope |
Yes | Uma lista de escopos a incluir em tokens de identidade JWT. Essa lista deve ser baseada nos escopos permitidos pelo provedor de identidade. |
Para configurar o SSO com o Microsoft Entra ID, consulte Configurar o logon único usando o Microsoft Entra ID para o Spring Cloud Gateway e o Portal de API.
Você pode usar o portal do Azure ou a CLI do Azure para editar propriedades de SSO.
Para editar propriedades de SSO no portal do Azure, use as seguintes etapas:
- Abra sua instância dos Aplicativos Spring do Azure.
- Selecione Spring Cloud Gateway no painel de navegação e selecione Configuração.
- Especifique valores para as propriedades listadas para SSO.
- Selecione Salvar.
O Spring Cloud Gateway da VMware dá suporte apenas aos servidores de autorização que dão suporte ao protocolo de Descoberta do OpenID Connect. Configure o servidor de autorização externo para permitir redirecionamentos para o gateway. Veja a documentação do servidor de autorização e adicione https://<gateway-external-url>/login/oauth2/code/sso
à lista de URIs de redirecionamento permitidos.
Ao configurar a propriedade de SSO incorreta, como a senha incorreta, deve-se removê-la inteiramente e adicionar a configuração correta.
Depois de configurar o SSO, lembre-se de definir ssoEnabled: true
para as rotas do Spring Cloud Gateway da VMware.
Configurar o logoff do SSO
As instâncias de serviço do Spring Cloud Gateway da VMware fornecem um ponto de extremidade de API padrão para sair da sessão de SSO atual. O caminho para esse ponto de extremidade é /scg-logout
. O logoff resulta em um dos seguintes resultados, dependendo de como você chama o ponto de extremidade de logoff:
- Faça logoff da sessão e redirecione para o logoff do provedor de identidade (IdP).
- Faça logoff da sessão da instância de serviço.
Fazer logoff da sessão de IdP e SSO
Se você enviar uma solicitação GET
para o ponto de extremidade /scg-logout
, o ponto de extremidade enviará uma resposta de redirecionamento 302
para a URL de logoff do IdP. Para obter o ponto de extremidade para retornar o usuário a um caminho na instância de serviço do gateway, adicione um parâmetro de redirecionamento à solicitação GET
com o ponto de extremidade/scg-logout
. Por exemplo, você pode usar ${server-url}/scg-logout?redirect=/home
.
O valor do parâmetro de redirecionamento deve ser um caminho válido na instância de serviço do Spring Cloud Gateway da VMware. Você não pode redirecionar para uma URL externa.
As etapas a seguir descrevem um exemplo de como implementar a função em seus microsserviços:
Obtenha uma configuração de rota para rotear a solicitação de logoff para seu aplicativo. Para obter um exemplo, consulte a configuração de rota no repositório animal-rescue no GitHub.
Adicione qualquer lógica de logoff necessária ao aplicativo. No final, você precisa de uma solicitação
GET
para o ponto de extremidade/scg-logout
do gateway, conforme mostrado no valorreturn
do métodogetActionButton
no repositório animal-rescue.
Faça logoff apenas da sessão de SSO
Se você enviar a solicitação GET
para o ponto de extremidade /scg-logout
usando XMLHttpRequest
, o redirecionamento 302
poderá ser engolido e não tratado no manipulador de resposta. Nesse caso, o usuário só seria desconectado da sessão de SSO na instância de serviço do Spring Cloud Gateway da VMware. O usuário ainda teria uma sessão IdP válida. Normalmente, se o usuário tentar fazer logon novamente, ele será enviado automaticamente para o gateway como autenticado do IdP.
Você precisa ter uma configuração de rota para rotear a solicitação de logoff para seu aplicativo, conforme mostrado no exemplo a seguir. Esse código faz uma sessão de SSO de logoff somente no gateway.
const req = new XMLHttpRequest();
req.open("GET", "/scg-logout);
req.send();
Configurar o compartilhamento de recursos entre origens
O compartilhamento de recursos entre origens (CORS) permite que recursos restritos em uma página da Web sejam solicitados por outro domínio externo ao domínio cujo primeiro recurso foi atendido. As opções de configuração de CORS disponíveis estão descritas na tabela a seguir.
Propriedade | Descrição |
---|---|
allowedOrigins |
Origens com permissão para fazer solicitações entre sites |
allowedOriginPatterns |
Padrões de origem permitidos para fazer solicitações entre sites |
allowedMethods |
Métodos HTTP permitidos em solicitações entre sites |
allowedHeaders |
Cabeçalhos permitidos em solicitações entre sites |
maxAge |
Quanto tempo, em segundos, os clientes armazenam em cache a resposta de uma solicitação de pré-voo |
allowCredentials |
Se as credenciais do usuário têm suporte em solicitações entre sites |
exposedHeaders |
Cabeçalhos de resposta HTTP a serem exposto para solicitações entre sites |
Certifique-se de ter a configuração CORS correta se desejar integrar com o portal API. Para obter mais informações, consulte a seção Atribuir um ponto de extremidade público ao Spring Cloud Gateway da VMware.
Usar escala de serviço
Você pode personalizar a alocação de recursos para instâncias do Spring Cloud Gateway da VMware, incluindo vCPU, memória e contagem de instâncias.
Para alta disponibilidade, não recomendamos usar uma única réplica.
A tabela a seguir descreve o uso do recurso padrão.
Nome de componente | Contagem de instâncias | vCPU por instância | Memória por instância |
---|---|---|---|
Spring Cloud Gateway do VMware | 2 | Um núcleo | 2 GiB |
Operador do Spring Cloud Gateway do VMware | 2 | Um núcleo | 2 GiB |
Configurar o TLS entre o gateway e os aplicativos
Para aprimorar a segurança e ajudar a proteger informações confidenciais contra interceptação por partes não autorizadas, você pode habilitar o Transport Layer Security (TLS) entre o Spring Cloud Gateway da VMware e seus aplicativos.
Antes de configurar o TLS, você precisa ter um aplicativo habilitado para TLS e um certificado TLS. Para preparar um certificado TLS, gere um certificado de uma autoridade de certificação (AC) confiável. O certificado verifica a identidade do servidor e estabelece uma conexão segura.
Depois de ter um aplicativo habilitado para TLS em execução no Aplicativos Spring do Azure, carregue o certificado nos Aplicativos Spring do Azure. Para obter mais informações, consulte a seção Importar um certificado de Usar certificados TLS/SSL em seu aplicativo nos Aplicativos Spring do Azure.
Com o certificado atualizado para os Aplicativos Spring do Azure, você pode configurar o certificado TLS para o gateway e habilitar a verificação de certificado. Você pode configurar o certificado no portal do Azure ou usando a CLI do Azure.
Use as seguintes etapas para configurar o certificado no portal do Azure:
- Em sua instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação.
- Na página do Spring Cloud Gateway, selecione Gerenciamento de certificados.
- Selecione Habilitar verificação de certificado.
- Selecione o certificado TLS em Certificados.
- Selecione Salvar.
A atualização da configuração pode levar alguns minutos. Você deverá receber uma notificação quando a configuração for concluída.
Preparar a configuração de rota
Você deve especificar o protocolo como HTTPS na configuração de rota. O objeto JSON a seguir instrui o Spring Cloud Gateway da VMware a usar o protocolo HTTPS para todo o tráfego entre o gateway e o aplicativo.
Crie um arquivo chamado test-tls-route.json com o seguinte conteúdo:
{ "routes": [ { "title": "Test TLS app", "predicates": [ "Path=/path/to/your/app", "Method=GET" ] } ], "uri": "https://<app-custom-domain-name>" }
Use o seguinte comando para aplicar a regra ao aplicativo:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name test-tls-app \ --routes-file test-tls-route.json
Agora você pode testar se o aplicativo está habilitado para TLS com o ponto de extremidade do gateway. Para obter mais informações, consulte a seção Configurar rotas de Usar o Spring Cloud Gateway.
Girar certificados
À medida que os certificados expiram, você precisa girar certificados no Spring Cloud Gateway da VMware usando as seguintes etapas:
- Gere novos certificados de uma AC confiável.
- Importe os certificados para Aplicativos Spring do Azure. Para obter mais informações, consulte a seção Importar um certificado de Usar certificados TLS/SSL em seu aplicativo nos Aplicativos Spring do Azure.
- Sincronize os certificados usando o portal do Azure ou a CLI do Azure.
O Spring Cloud Gateway da VMware é reiniciado para garantir que o gateway use o novo certificado para todas as conexões.
Use as seguintes etapas para sincronizar certificados:
- Em sua instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação.
- Na página do Spring Cloud Gateway, selecione Reiniciar e confirme a operação.
Definições da configuração do dimensionamento automático
Você pode definir modos de dimensionamento automático para o Spring Cloud Gateway da VMware.
A lista a seguir mostra as opções disponíveis para o gerenciamento de demanda de Dimensionamento Automático:
- A opção de Dimensionamento manual mantém uma contagem de instâncias fixa. Você pode escalar horizontalmente para um máximo de 10 instâncias. Este valor altera o número de instâncias separadas em execução do Spring Cloud Gateway.
- A opção de Dimensionamento automático personalizado é dimensionada em qualquer agendamento, com base em qualquer métrica.
Na portal do Azure, escolha como deseja escalar. A figura a seguir mostra as opções de Dimensionamento automático personalizado e as configurações de modo:
Para obter mais informações sobre as métricas disponíveis, consulte a seção Opções de métricas do usuário de Métricas para os Aplicativos Spring do Azure.
Configurar o cache de resposta
A configuração do cache de resposta fornece uma maneira de definir um cache de resposta HTTP que você pode aplicar globalmente ou no nível da rota.
Habilitar o cache de resposta globalmente
Depois de habilitar o cache de resposta globalmente, o cache de resposta será habilitado automaticamente para todas as rotas aplicáveis.
Use as seguintes etapas para habilitar o cache de resposta globalmente:
- Em sua instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação.
- Na página do Spring Cloud Gateway, selecione Configuração.
- Na seção Cache de Resposta, selecione Habilitar cache de resposta e, em seguida, defina Escopo como Instância.
- Defina Tamanho e Vida útil para o cache de resposta.
- Selecione Salvar.
Use as seguintes etapas para desabilitar o cache de resposta:
- Em sua instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação.
- Na página do Spring Cloud Gateway, selecione Configuração.
- Na seção Cache de Resposta, desmarque Habilitar cache de resposta.
- Selecione Salvar.
Habilitar o cache de resposta no nível da rota
Para habilitar o cache de resposta para qualquer rota, use o filtro LocalResponseCache
. O exemplo a seguir mostra como usar o filtro LocalResponseCache
na configuração da regra de roteamento:
{
"filters": [
"<other-app-level-filter-of-route>",
],
"routes": [
{
"predicates": [
"Path=/api/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache=3m, 1MB"
],
}
]
}
Para obter mais informações, consulte a seção LocalResponseCache sobre Como usar filtros de rota do Spring Cloud Gateway da VMware com o plano Enterprise dos Aplicativos Spring do Azure e LocalResponseCache na documentação da VMware.
Em vez de configurar size
e timeToLive
para cada filtro LocalResponseCache
individualmente, você pode definir esses parâmetros no nível do Spring Cloud Gateway. Essa opção permite que você use o filtro LocalResponseCache
sem especificar esses valores inicialmente, mantendo a flexibilidade para substituí-los posteriormente.
Use as etapas a seguir para habilitar o cache de resposta no nível da rota e definir size
e timeToLive
:
- Em sua instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação.
- Na página do Spring Cloud Gateway, selecione Configuração.
- Na seção Cache de Resposta, selecione Habilitar cache de resposta e, em seguida, defina Escopo como Rota.
- Defina Tamanho e Vida útil para o cache de resposta.
- Selecione Salvar.
Use as etapas a seguir para desabilitar o cache de resposta no nível da rota, o que limpa size
e timeToLive
:
- Em sua instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação.
- Na página do Spring Cloud Gateway, selecione Configuração.
- Na seção Cache de Resposta, desmarque Habilitar cache de resposta.
- Selecione Salvar.
O exemplo a seguir mostra como usar o filtro LocalResponseCache
quando size
e timeToLive
são definidos no nível do Spring Cloud Gateway:
{
"filters": [
"<other-app-level-filter-of-route>",
],
"routes": [
{
"predicates": [
"Path=/api/path1/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache"
],
},
{
"predicates": [
"Path=/api/path2/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache=3m, 1MB"
],
}
]
}
Configurar variáveis de ambiente
O serviço Aplicativos Spring do Azure gerencia e ajusta o Spring Cloud Gateway da VMware. Com exceção dos casos de uso que configuram o monitoramento de desempenho do aplicativo (APM) e o nível de log, normalmente você não precisa configurar o Spring Cloud Gateway da VMware com variáveis de ambiente.
Se você tiver requisitos que não pode atender por outras configurações descritas neste artigo, poderá tentar configurar as variáveis de ambiente mostradas na lista de propriedades do aplicativo Comum. Verifique sua configuração em seu ambiente de teste antes de aplicá-la ao seu ambiente de produção.
Para configurar variáveis de ambiente no portal do Azure, use as seguintes etapas:
- Na instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação e selecione Configuração.
- Preencha os pares chave/valor para as variáveis de ambiente nas seções Propriedades e Segredos. Você pode incluir variáveis com informações confidenciais na seção Segredos.
- Selecione Salvar para salvar as alterações.
Depois de atualizar variáveis de ambiente, o Spring Cloud Gateway da VMware será reiniciado.
Configurar o monitoramento de desempenho de aplicativos
Para monitorar o Spring Cloud Gateway da VMware, você pode configurar o APM. A tabela a seguir lista os cinco tipos de agentes Java do APM que o Spring Cloud Gateway da VMware fornece, juntamente com suas variáveis de ambiente necessárias.
Agente de Java | Variáveis de ambiente necessárias |
---|---|
Application Insights | APPLICATIONINSIGHTS_CONNECTION_STRING |
Dynatrace | DT_TENANT DT_TENANTTOKEN DT_CONNECTION_POINT |
New Relic | NEW_RELIC_LICENSE_KEY NEW_RELIC_APP_NAME |
AppDynamics | APPDYNAMICS_AGENT_APPLICATION_NAME APPDYNAMICS_AGENT_TIER_NAME APPDYNAMICS_AGENT_NODE_NAME APPDYNAMICS_AGENT_ACCOUNT_NAME APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY APPDYNAMICS_CONTROLLER_HOST_NAME APPDYNAMICS_CONTROLLER_SSL_ENABLED APPDYNAMICS_CONTROLLER_PORT |
APM elástico | ELASTIC_APM_SERVICE_NAME ELASTIC_APM_APPLICATION_PACKAGES ELASTIC_APM_SERVER_URL |
Para outras variáveis de ambiente com suporte, consulte as seguintes fontes:
- Visão geral do Application Insights
- Variáveis de ambiente do Dynatrace
- Variáveis de ambiente do New Relic
- Variáveis de ambiente do AppDynamics
- Variáveis de ambiente elástico
Configurar a integração do APM no nível da instância de serviço (recomendado)
Para habilitar o monitoramento do APM no Spring Cloud Gateway da VMware, você pode criar a configuração do APM no nível da instância de serviço e associá-la ao Spring Cloud Gateway. Dessa forma, você pode configurar convenientemente o APM apenas uma vez e associar o mesmo APM ao Spring Cloud Gateway e aos seus aplicativos.
Use as seguintes etapas para configurar o APM usando o portal do Azure:
Configure o APM no nível da instância de serviço com o nome, o tipo e as propriedades do APM. Para obter mais informações, consulte a seção Gerenciar APMs no nível da instância de serviço (recomendado) de Como configurar a integração do APM e certificados de CA.
Selecione Spring Cloud Gateway no painel de navegação e selecione APM.
Escolha o nome do APM na lista de nomes de referência do APM. A lista inclui todos os nomes do APM configurados na etapa 1.
Selecione Salvar para associar nomes de referência do APM ao Spring Cloud Gateway. O gateway é reiniciado para habilitar o monitoramento do APM.
Gerenciar o APM no Spring Cloud Gateway da VMware (preterido)
Você pode usar o portal do Azure ou a CLI do Azure para configurar o APM no Spring Cloud Gateway da VMware. Você também pode especificar os tipos de agentes Java do APM a serem usados e as variáveis de ambiente do APM correspondentes às quais eles dão suporte.
Use as seguintes etapas para configurar o APM usando o portal do Azure:
- Na instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação e selecione Configuração.
- Escolha o tipo do APM na lista do APM para monitorar um gateway.
- Preencha os pares chave/valor para as variáveis de ambiente do APM nas seções Propriedades e Segredos. Você pode colocar variáveis com informações confidenciais em Segredos.
- Selecione Salvar para salvar as alterações.
A atualização da configuração pode levar alguns minutos. Você deverá receber uma notificação quando a configuração for concluída.
Observação
Os Aplicativos Spring do Azure atualizam o agente do APM e os aplicativos implantados com a mesma cadência para manter a compatibilidade de agentes entre o Spring Cloud Gateway da VMware e o Aplicativos Spring do Azure.
Por padrão, os Aplicativos Spring do Azure imprime os logs do agente Java do APM para STDOUT
. Esses logs são incluídos nos logs do Spring Cloud Gateway da VMware. Você pode verificar a versão do agente do APM usada nos logs. Você pode consultar esses logs no Log Analytics para solucionar problemas.
Para fazer com que os agentes do APM funcionem corretamente, aumente a CPU e a memória do Spring Cloud Gateway da VMware.
Configurar os níveis de log
Você pode configurar os níveis de log do Spring Cloud Gateway da VMware das seguintes maneiras para obter mais detalhes ou reduzir logs:
- Você pode definir níveis de log como
TRACE
,DEBUG
,INFO
,WARN
,ERROR
ouOFF
. O nível de log padrão do Spring Cloud Gateway da VMware éINFO
. - Você pode desativar logs definindo os níveis de log como
OFF
. - Quando o nível de log é definido como
WARN
,ERROR
ouOFF
, você pode ser obrigado a ajustá-lo paraINFO
ao solicitar suporte da equipe dos Aplicativos Spring do Azure. Essa alteração causa uma reinicialização do Spring Cloud Gateway da VMware. - Quando o nível de log é definido como
TRACE
ouDEBUG
, isso pode afetar o desempenho do Spring Cloud Gateway da VMware. Tente evitar essas configurações em seu ambiente de produção. - Você pode definir níveis de log para o agente
root
ou para agentes específicos comoio.pivotal.spring.cloud.gateway
.
Os seguintes agentes podem conter informações valiosas de solução de problemas nos níveis TRACE
e DEBUG
:
Agente | Descrição |
---|---|
io.pivotal.spring.cloud.gateway |
Filtros e predicados, incluindo extensões personalizadas |
org.springframework.cloud.gateway |
Gateway de API |
org.springframework.http.server.reactive |
Interações de servidor HTTP |
org.springframework.web.reactive |
Fluxos reativos do gateway de API |
org.springframework.boot.autoconfigure.web |
Configuração automática do gateway de API |
org.springframework.security.web |
Informações de autenticação e autorização |
reactor.netty |
Reator Netty |
Para obter chaves de variável de ambiente, adicione o prefixo logging.level.
e defina o nível de log configurando o ambiente logging.level.{loggerName}={logLevel}
. Os exemplos a seguir mostram as etapas para o portal do Azure e a CLI do Azure.
Para configurar os níveis de log no portal do Azure, use as seguintes etapas:
- Na instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação e selecione Configuração.
- Preencha os pares chave/valor para as variáveis de ambiente dos níveis de log nas seções Propriedades e Segredos. Se o nível de log for informações confidenciais no seu caso, você poderá incluí-lo usando a seção Segredos.
- Selecione Salvar para salvar as alterações.
Atualizar a configuração do complemento
O recurso de configuração de complemento permite personalizar determinadas propriedades do Spring Cloud Gateway da VMware usando uma cadeia de caracteres de formato JSON. O recurso é útil quando você precisa configurar propriedades que não são expostas por meio da API REST.
A configuração do complemento é um objeto JSON com pares chave/valor que representam a configuração desejada. O exemplo a seguir mostra a estrutura do formato JSON:
{
"<addon-key-name>": {
"<addon-key-name>": "<addon-value>"
...
},
"<addon-key-name>": "<addon-value>",
...
}
A lista a seguir mostra as configurações de complemento com suporte para os nomes de chave de complemento e tipos de valor. Esta lista está sujeita a alterações à medida que atualizamos a versão do Spring Cloud Gateway da VMware.
Configuração de SSO:
Nome da chave:
sso
Tipo de valor: Objeto
Propriedades:
RolesAttributeName
(Cadeia de caracteres): especifica o nome do atributo que contém as funções associadas à sessão de SSO.InactiveSessionExpirationInMinutes
(Inteiro): especifica o tempo de expiração, em minutos, para sessões de SSO inativas. Um valor de0
significa que a sessão nunca expira.
Exemplo:
{ "sso": { "rolesAttributeName": "roles", "inactiveSessionExpirationInMinutes": 1 } }
Configuração de metadados:
Nome da chave:
api
Tipo de valor: Objeto
Propriedades
groupId
(Cadeia de caracteres): um identificador exclusivo para o grupo de APIs disponíveis na instância do Spring Cloud Gateway da VMware. O nome só pode conter letras minúsculas e números.
Exemplo:
{ "api": { "groupId": "id1" } }
Configuração do pod
Nome da chave:
PodOverrides
, que é usado para especificar substituições para a configuração de pod padrão.Tipo de valor: Objeto
Propriedades
Containers
: esta matriz contém a configuração para contêineres individuais dentro do pod. No momento, há suporte apenas para o contêiner nomeadogateway
.Name
: especifica o nome do contêiner. O contêiner deve ser nomeadogateway
.Lifecycle
:PreStop
é um gancho de ciclo de vida executado quando um contêiner está prestes a ser encerrado. Este gancho permite que você execute qualquer limpeza necessária antes que o contêiner pare.
TerminationGracePeriodSeconds
: especifica a quantidade de tempo pela qual o Kubernetes aguarda que um pod seja terminado normalmente antes de encerrá-lo à força.
Exemplo:
{ "PodOverrides": { "Containers": [ { "Name": "gateway", "Lifecycle": { "PreStop": { "Exec": { "Command": [ "/bin/sh", "-c", "sleep 20" ] } } } } ], "TerminationGracePeriodSeconds": 120 } }
Quando um pod que contém este contêiner está sendo encerrado, o gancho
PreStop
executa o comando/bin/sh -c 'sleep 20'
, fazendo com que o contêiner seja colocado em suspensão por 20 segundos. Esta pausa dá ao contêiner algum tempo para concluir as tarefas ou a limpeza em andamento antes que ele realmente pare.A configuração
TerminationGracePeriodSeconds
fornece um total de 120 segundos para que o pod termine normalmente, incluindo o tempo gasto por quaisquer ganchos de ciclo de vida, comoPreStop
.
Use as seguintes etapas para atualizar a configuração do complemento.
- Na instância dos Aplicativos Spring do Azure, selecione Spring Cloud Gateway no painel de navegação e selecione Configuração.
- Especifique o valor JSON para Configurações de Complemento.
- Selecione Salvar.