你当前正在访问 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 启用本地指标收集。 值是以下选项之一:none 、statsd 。 |
否 | 空值 |
telemetry.metrics.localStatsd.endpoint |
StatsD 终结点。 | 如果 telemetry.metrics.local 设置为 statsd ,则为“是”;否则为“否”。 |
空值 |
telemetry.metrics.localStatsd.sampling |
StatsD 指标采样率。 值必须介于 0 和 1 之间,例如 0.5。 | 否 | 空值 |
telemetry.metrics.localStatsd.tagFormat |
StatsD 导出程序标记格式。 值是以下选项之一:ibrato 、dogStatsD 、influxDB 。 |
否 | 空值 |
telemetry.metrics.opentelemetry.enabled |
指示是否在 Kubernetes 上启用向 OpenTelemetry 收集器发送指标。 | 否 | false |
telemetry.metrics.opentelemetry.collector.uri |
要将指标发送到的 OpenTelemetry 收集器的 URI。 | 如果 observability.opentelemetry.enabled 设置为 true ,则为“是”;否则为“否”。 |
空值 |
日志
名称 | 说明 | 需要 | 默认 |
---|---|---|---|
telemetry.logs.std |
启用记录到标准流。 值是以下选项之一:none 、text 、json 。 |
否 | text |
telemetry.logs.local |
启用本地日志记录。 值是以下选项之一:none 、auto 、localsyslog 、rfc5424 、journal 、json |
否 | 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 计划的容忍度(文档) | 否 | 空值 |