你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

参考:自托管网关 Azure Arc 配置设置

适用于:开发人员 | 高级

本文提供了用于配置 API 管理自承载网关容器的 Azure Arc 扩展的必需设置和可选设置的参考。

重要

Azure Arc 上的 API 管理自承载网关目前为预览版。 在预览期间,API 管理网关扩展在以下区域可用:

  • 亚洲(东部、东南部)
  • 澳大利亚(中部、中部 2、东部和东南部)
  • 巴西(南和东南)
  • 加拿大(中部、东部)
  • 欧洲(北部、西部)
  • 法国(中南部)
  • 德国(中北部和中西部)
  • 印度 (中部、南部、西、Jio 中部和 Jio West)
  • 日本 (东和西)
  • 韩国(中南部)
  • 挪威(东和西)
  • 南非 (北部和西部)
  • 瑞典(中部)
  • 瑞士 (西北)
  • 阿拉伯联合酋长国(阿联酋 - 中北部)
  • 英国(英国南部)
  • 美国(美国中部、中部 EUAP、东部、东部 2、东部 2 EUAP、中北部、中南部、中西部、西部、西部 2、西部 3)

配置 API 集成

配置 API 可供自承载网关用于连接到 Azure API 管理,以获取最新配置并发送指标(如果已启用)。

下面是所有配置选项的概述:

名称 说明 需要 默认
gateway.configuration.uri Azure API 管理中用于自托管网关的配置终结点。 在 Azure 门户中的“网关”>“部署”下找到此值。 空值
gateway.auth.token 用于向 Azure API 管理服务进行身份验证的身份验证密钥。 通常以 GatewayKey 开头。 空值
gateway.configuration.backup.enabled 如果启用,将在存储卷上存储最新下载配置的备份副本 false
gateway.configuration.backup.persistentVolumeClaim.accessMode 永久性卷声明 (PVC) Pod 的访问模式 ReadWriteMany
gateway.configuration.backup.persistentVolumeClaim.size 要创建的永久性卷声明 (PVC) 的大小 50Mi
gateway.configuration.backup.persistentVolumeClaim.storageClassName 要用于永久性卷声明 (PVC) 的存储类名称。 如果未分配任何值 (null),则将使用平台默认值。 指定的存储类应支持 ReadWriteMany 访问模式,详细了解支持的卷提供程序及其支持的访问模式 null

跨实例发现和同步

名称 说明 需要 默认
service.instance.heartbeat.port 用于自承载网关部署实例的 UDP 端口,用于向其他实例发送检测信号。 4291
service.instance.synchronization.port 用于自承载网关实例的 UDP 端口,用于跨多个实例同步速率限制。 4290

指标

名称 说明 需要 默认
telemetry.metrics.cloud 指示是否启用向 Azure Monitor 发送指标 true
telemetry.metrics.local 通过 StatsD 启用本地指标收集。 值是以下选项之一:nonestatsd 空值
telemetry.metrics.localStatsd.endpoint StatsD 终结点。 如果 telemetry.metrics.local 设置为 statsd,则为“是”;否则为“否”。 空值
telemetry.metrics.localStatsd.sampling StatsD 指标采样率。 值必须介于 0 和 1 之间,例如 0.5。 空值
telemetry.metrics.localStatsd.tagFormat StatsD 导出程序标记格式。 值是以下选项之一:ibratodogStatsDinfluxDB 空值
telemetry.metrics.opentelemetry.enabled 指示是否在 Kubernetes 上启用向 OpenTelemetry 收集器发送指标 false
telemetry.metrics.opentelemetry.collector.uri 要将指标发送到的 OpenTelemetry 收集器的 URI。 如果 observability.opentelemetry.enabled 设置为 true,则为“是”;否则为“否”。 空值

日志

名称 说明 需要 默认
telemetry.logs.std 启用记录到标准流。 值是以下选项之一:nonetextjson text
telemetry.logs.local 启用本地日志记录。 值是以下选项之一:noneautolocalsyslogrfc5424journaljson auto
telemetry.logs.localConfig.localsyslog.endpoint 本地 syslog 的终结点 如果 telemetry.logs.local 设置为 localsyslog,则为“是”;否则为“否”。 空值
telemetry.logs.localConfig.localsyslog.facility 指定本地 syslog 设备代码,例如 7 空值
telemetry.logs.localConfig.rfc5424.endpoint rfc5424 终结点。 如果 telemetry.logs.local 设置为 rfc5424,则为“是”;否则为“否”。 空值
telemetry.logs.localConfig.rfc5424.facility 每个 rfc5424 的设备代码(例如 7 空值
telemetry.logs.localConfig.journal.endpoint 日志终结点。 如果 telemetry.logs.local 设置为 journal,则为“是”;否则为“否”。 空值

流量路由

名称 说明 需要 默认
service.type 用于公开网关的 Kubernetes 服务类型。 (文档 ClusterIP
service.http.port 用于公开 HTTP 流量的端口。 8080
service.http.nodePort 节点上用于公开 HTTP 流量的端口。 这需要 NodePort 作为服务类型。 空值
service.https.port 用于公开 HTTPS 流量的端口。 8081
service.https.nodePort 节点上用于公开 HTTPS 流量的端口。 这需要 NodePort 作为服务类型。 空值
service.annotations 要添加到网关的 Kubernetes 服务的注释。 空值
ingress.annotations 要添加到网关的 Kubernetes 入口的注释。 (试验 空值
ingress.enabled 指示是否应使用 Kubernetes 入口。 (试验 false
ingress.tls Kubernetes 入口的 TLS 配置。 (试验 空值
ingress.hosts 要用于 Kubernetes 入口的主机配置。 (试验 空值

集成

自承载网关与其他各种技术集成。 本部分概述了你可以使用的可用配置选项。

Dapr

名称 说明 需要 默认
dapr.enabled 指示是否应使用 Dapr 集成。 false
dapr.app.id 用于 Dapr 集成的应用程序 ID
dapr.config 定义应使用哪个配置 CRD Dapr tracing
dapr.logging.level Dapr 挎斗的日志详细程度 info
dapr.logging.useJsonOutput 指示日志记录是否应采用 JSON 格式 true

Azure Monitor

名称 说明 需要 默认
monitoring.customResourceId 要向其发送日志的 Azure Log Analytics 工作区的资源 ID。 空值
monitoring.ingestionKey 要向其发送日志的 Azure Log Analytics 工作区进行身份验证所需的引入密钥。 空值
monitoring.workspaceId 要向其发送日志的 Azure Log Analytics 工作区的工作区 ID。 空值

映像和工作负荷计划

Kubernetes 是一个功能强大的业务流程平台,可在部署的内容和计划方式方面提供很大的灵活性。

本部分概述了可用的配置选项,它们可以影响所用的映像、映像的计划方式和配置为自我修复的方式。

名称 说明 需要 默认
replicaCount 要运行的自承载网关的实例数。 3
image.repository 要运行的映像。 mcr.microsoft.com/azure-api-management/gateway
image.pullPolicy 用于拉取容器映像的策略。 IfNotPresent
image.tag 要使用的容器映像标记。 扩展的应用版本已使用
imagePullSecrets 拉取容器映像时用于向容器注册表进行身份验证的 Kubernetes 机密。 空值
probes.readiness.httpGet.path 用于容器的就绪情况探测的 URI 路径 /status-0123456789abcdef
probes.readiness.httpGet.port 用于容器的运行情况探测的端口 http
probes.liveness.httpGet.path 用于容器的运行情况探测的 URI 路径 /status-0123456789abcdef
probes.liveness.httpGet.port 用于容器的运行情况探测的端口 http
highAvailability.enabled 指示网关是否应在群集中计划为具有高可用性。 false
highAvailability.disruption.maximumUnavailable 由于自愿中断而允许不可用的 Pod 的数量。 25%
highAvailability.podTopologySpread.whenUnsatisfiable 指示 Pod 在无法满足要求时应如何分布在节点之间。 在 Kubernetes 文档中了解更多 ScheduleAnyway
resources 定义要分配给网关的 CPU/内存资源的功能 空值
nodeSelector 使用选择器来标识应运行网关的节点的功能。 空值
affinity pod 计划的相关性(文档 空值
tolerations pod 计划的容忍度(文档 空值

后续步骤