Referência: Configurações de configuração do gateway Azure Arc self-hosted

APLICA-SE A: Programador | Premium

Este artigo fornece uma referência para as definições necessárias e opcionais para configurar a extensão Azure Arc para o contentor de gateway auto-hospedado de API Management.

Importante

Atualmente, o gateway auto-hospedado da Gestão de API no Azure Arc está em visualização (preview). Durante a versão prévia, a extensão do gateway de Gerenciamento de API está disponível nas seguintes regiões:

  • Ásia (Leste, Sudeste)
  • Austrália (Central, Central 2, Leste e Sudeste)
  • Brasil (Sul e Sudeste)
  • Canadá (Central, Leste)
  • Europa (Norte, Oeste)
  • França (Centro e Sul)
  • Alemanha (Norte e Centro-Oeste)
  • Índia (Central, Sul, Oeste, Jio central & Jio Oeste)
  • Japão (Leste e Oeste)
  • Coreia (Central e Sul)
  • Noruega (Leste e Oeste)
  • África do Sul (Norte e Oeste)
  • Suécia (Central)
  • Suíça (Norte e Oeste)
  • Emirados Árabes Unidos (EAU - Central & Norte)
  • Reino Unido (UK -Sul)
  • Estados Unidos (EUA - Central, Central EUAP, Leste, Leste 2, Leste 2 EUAP, Centro-Norte, Centro-Sul, Centro-Oeste, Oeste, Oeste 2, Oeste 3)

Integração da API de configuração

O gateway auto-hospedado utiliza a API de Configuração para se ligar ao API Management do Azure, obtendo a configuração mais recente e enviando métricas, quando ativado.

Aqui está uma visão geral de todas as opções de configuração:

Name Description Obrigatório Default
gateway.configuration.uri Endpoint de configuração no API Management do Azure para o gateway auto-hospedado. Encontre este valor no portal Azure em Implementação de Gateways>. Yes N/A
gateway.auth.token Chave de autenticação para autenticação com o serviço API Management do Azure. Normalmente começa com GatewayKey. Yes N/A
gateway.configuration.backup.enabled Se ativado, armazena uma cópia de segurança da configuração mais recente descarregada num volume de armazenamento. No false
gateway.configuration.backup.persistentVolumeClaim.accessMode Modo de acesso para o pod de Reclamação de Volume Persistente (PVC). No ReadWriteMany
gateway.configuration.backup.persistentVolumeClaim.size Tamanho da Reivindicação de Volume Persistente (PVC) a criar. No 50Mi
gateway.configuration.backup.persistentVolumeClaim.storageClassName Nome da classe de armazenamento a usar para a Reivindicação de Volume Persistente (PVC). Quando não atribui um valor (null), a plataforma usa o valor predefinido. A classe de armazenamento especificada deve suportar ReadWriteMany o modo de acesso. Saiba mais sobre os fornecedores de volumes suportados e os seus modos de acesso suportados. No null

Descoberta e sincronização entre instâncias

Name Description Obrigatório Default
service.instance.heartbeat.port Porta UDP que as instâncias de uma implementação de gateway self-hosted usam para enviar batimentos cardíacos para outras instâncias. No 4291
service.instance.synchronization.port Porta UDP que as instâncias de gateway self-hosted usam para sincronizar a limitação de taxa entre múltiplas instâncias. No 4290

Metrics

Name Description Obrigatório Default
telemetry.metrics.cloud Indique se deve ativar métricas de emissão no Azure Monitor. No true
telemetry.metrics.local Permitir a recolha de métricas locais através do StatsD. O valor é uma das seguintes opções: none, statsd. No N/A
telemetry.metrics.localStatsd.endpoint Endpoint StatsD. Sim, se telemetry.metrics.local estiver definido para statsd; caso contrário, não. N/A
telemetry.metrics.localStatsd.sampling Taxa de amostragem das métricas StatsD. O valor deve estar entre 0 e 1, por exemplo, 0,5. No N/A
telemetry.metrics.localStatsd.tagFormat Formato de etiquetagem do StatsD exporter. O valor é uma das seguintes opções: librato, dogStatsD, influxDB. No N/A
telemetry.metrics.opentelemetry.enabled Indicar se deve ativar métricas de emissão a um coletor OpenTelemetry no Kubernetes. No false
telemetry.metrics.opentelemetry.collector.uri URI do coletor OpenTelemetry para enviar métricas. Sim, se observability.opentelemetry.enabled estiver definido para true; caso contrário, não. N/A

Logs

Name Description Obrigatório Default
telemetry.logs.std Ative o registo num fluxo padrão. O valor é uma das seguintes opções: none, text, json. No text
telemetry.logs.local Ative a registo local. O valor é uma das seguintes opções: none, auto, localsyslog, rfc5424, journal, json No auto
telemetry.logs.localConfig.localsyslog.endpoint Endpoint para syslogs locais Sim, se telemetry.logs.local estiver definido para localsyslog; caso contrário, não. N/A
telemetry.logs.localConfig.localsyslog.facility Especifica o código local de instalação de syslog, por exemplo, 7. No N/A
telemetry.logs.localConfig.rfc5424.endpoint Endpoint RFC5424. Sim, se telemetry.logs.local estiver definido para rfc5424; caso contrário, não. N/A
telemetry.logs.localConfig.rfc5424.facility Código da instalação conforme o rfc5424, por exemplo, 7 No N/A
telemetry.logs.localConfig.journal.endpoint Endpoint do diário. Sim, se telemetry.logs.local estiver definido para journal; caso contrário, não. N/A

Encaminhamento do tráfego

Name Description Obrigatório Default
service.type Tipo de serviço Kubernetes para usar na exposição do gateway. (Tipos de serviço Kubernetes) No ClusterIP
service.http.port Porta para usar para expor tráfego HTTP. No 8080
service.http.nodePort Porta no nó para usar na exposição do tráfego HTTP. Esta configuração requer NodePort como o tipo de serviço. No N/A
service.https.port Porta para usar e expor tráfego HTTPS. No 8081
service.https.nodePort Porta no nó para expor o tráfego HTTPS. Esta configuração requer NodePort como o tipo de serviço. No N/A
service.annotations Anotações para adicionar ao serviço Kubernetes para o gateway. No N/A
ingress.annotations Anotações para adicionar ao Kubernetes Ingress para o gateway. (suporte experimental Kubernetes Ingress) No N/A
ingress.enabled Indique se deve ou não usar o Kubernetes Ingress. (suporte experimental Kubernetes Ingress) No false
ingress.tls Configuração TLS para Kubernetes Ingress. (suporte experimental Kubernetes Ingress) No N/A
ingress.hosts Configuração dos hosts a usar para o Kubernetes Ingress. (suporte experimental Kubernetes Ingress) No N/A

Integrations

O gateway auto-hospedado integra-se com várias outras tecnologias. Esta secção apresenta uma visão geral das opções de configuração que pode utilizar.

Dapr

Name Description Obrigatório Default
dapr.enabled Indica se deve usar integração Dapr. No false
dapr.app.id ID de aplicação para usar na integração Dapr. No None
dapr.config Define qual a configuração CRD que o Dapr deve usar. No tracing
dapr.logging.level Nível de verbosidade do registo do sidecar Dapr. No info
dapr.logging.useJsonOutput Indica se o registo está em formato JSON. No true

Azure Monitor

Name Description Obrigatório Default
monitoring.customResourceId ID de recurso do espaço de trabalho Azure Log Analytics para enviar logs. No N/A
monitoring.ingestionKey Chave de ingestão para autenticação com o espaço de trabalho do Azure Log Analytics para enviar registos. No N/A
monitoring.workspaceId ID do espaço de trabalho do Azure Log Analytics para enviar registos. No N/A

Agendamento de imagens e cargas de trabalho

O Kubernetes é uma poderosa plataforma de orquestração que oferece muita flexibilidade sobre o que deve ser implementado e como deve ser agendado.

Esta secção apresenta uma visão geral das opções de configuração disponíveis que pode usar para influenciar a imagem utilizada, como ela é programada e configurada para se auto-curar.

Name Description Obrigatório Default
replicaCount Número de instâncias do gateway auto-hospedado para executar. No 3
image.repository Imagem para executar. No mcr.microsoft.com/azure-api-management/gateway
image.pullPolicy Política a usar para extrair imagens de contentores. No IfNotPresent
image.tag Etiqueta de imagem do contentor para usar. No A versão da aplicação da extensão é usada
imagePullSecrets Segredo do Kubernetes para usar para autenticação com o registo do contentor ao puxar a imagem do contentor. No N/A
probes.readiness.httpGet.path Caminho URI para usar nas sondas de prontidão do contentor No /status-0123456789abcdef
probes.readiness.httpGet.port Porta para utilização em sondas de vivacidade do contentor No http
probes.liveness.httpGet.path Caminho URI a usar para sondas de vivacidade do contentor No /status-0123456789abcdef
probes.liveness.httpGet.port Porta para utilização em sondas de vivacidade do contentor No http
highAvailability.enabled Indica se o gateway deve ou não estar agendado em alta disponibilidade no cluster. No false
highAvailability.disruption.maximumUnavailable Quantidade de cápsulas que podem estar indisponíveis devido a interrupções voluntárias. No 25%
highAvailability.podTopologySpread.whenUnsatisfiable Indicação de como os pods devem ser distribuídos pelos nós caso o requisito não seja cumprido. Saiba mais na documentação do Kubernetes No ScheduleAnyway
resources Capacidade para definir recursos de CPU/Memória a atribuir ao gateway No N/A
nodeSelector Capacidade de usar seletores para identificar o nó onde o gateway deve operar. No N/A
affinity Affinity for pod scheduling (Kubernetes node affinity) No N/A
tolerations Tolerâncias para o agendamento de pods (contaminações e tolerâncias de Kubernetes) No N/A