適用於:開發人員 | 進階
本文提供了設定 Azure Arc API 管理擴充套件自架閘道容器所需及可選設定的參考資料。
Important
Azure Arc 上的自行裝載的 API 管理閘道目前是預覽版。 在預覽期間,API 管理閘道擴充功能可在下列區域中使用:
- 亞洲 (東部、東南部)
- 澳大利亞 (中部、中部 2、東部和東南部)
- 巴西 (南部和東南部)
- 加拿大 (中部、東部)
- 歐洲 (北部、西部)
- 法國 (中部和南部)
- 德國 (北部和中西部)
- 印度 (中部、南部、西部、Jio 中部和 Jio 西部)
- 日本 (東部和西部)
- 南韓 (中部和南部)
- 挪威 (東部和西部)
- 南非 (北部和西部)
- 瑞典 (中部)
- 瑞士 (北部和西部)
- 阿拉伯聯合大公國 (UAE - 中部和北部)
- 英國 (UK - 南部)
- 美國 (美國 - 中部、中部 EUAP、東部、東部 2、東部 2 EUAP、中北部、中南部、中西部、西部、西部 2、西部 3)
組態 API 整合
自架閘道器會使用 Configuration API 連接 Azure API 管理,取得最新的設定並傳送指標(啟用時)。
以下是所有設定選項的概述:
| Name | 說明 | Required | 預設 |
|---|---|---|---|
gateway.configuration.uri |
Azure API 管理 中的 Configuration endpoint for the self-hosted gateway. 在 Azure 入口網站的閘道>部署中找到這個值。 | 是的 | N/A |
gateway.auth.token |
認證金鑰以與 Azure API 管理 服務進行認證。 一般而言,從 GatewayKey 開始。 |
是的 | N/A |
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 |
跨實例發現與同步
| Name | 說明 | Required | 預設 |
|---|---|---|---|
service.instance.heartbeat.port |
UDP 埠,自架閘道部署的實例用來將心跳傳送給其他實例。 | 不 | 4291 |
service.instance.synchronization.port |
自架閘道實例用來同步多個實例間速率限制的 UDP 埠。 | 不 | 4290 |
Metrics
| Name | 說明 | Required | 預設 |
|---|---|---|---|
telemetry.metrics.cloud |
指示是否啟用 emitting metrics 至 Azure 監視器。 | 不 | true |
telemetry.metrics.local |
透過 StatsD 啟用 本地指標收集 。 值是以下選項之一: none, statsd。 |
不 | N/A |
telemetry.metrics.localStatsd.endpoint |
StatsD 端點。 | 是的,如果 telemetry.metrics.local 設定為 statsd;否則不行。 |
N/A |
telemetry.metrics.localStatsd.sampling |
StatsD 指標抽樣率。 數值必須介於 0 到 1 之間,例如 0.5。 | 不 | N/A |
telemetry.metrics.localStatsd.tagFormat |
StatsD 匯出工具的標記格式。 值為以下選項之一:librato, , dogStatsDinfluxDB, 。 |
不 | N/A |
telemetry.metrics.opentelemetry.enabled |
指示是否啟用向 Kubernetes 上的 OpenTelemetry 收集器發送指標 。 | 不 | false |
telemetry.metrics.opentelemetry.collector.uri |
OpenTelemetry 收集器的 URI 用來傳送指標。 | 是的,如果 observability.opentelemetry.enabled 設定為 true;否則不行。 |
N/A |
Logs
| Name | 說明 | Required | 預設 |
|---|---|---|---|
telemetry.logs.std |
啟用對標準串流的登錄 。 值為以下選項之一:none, , textjson, 。 |
不 | text |
telemetry.logs.local |
啟用本地記錄。 值為以下選項之一:none, auto, , rfc5424journallocalsyslogjson |
不 | auto |
telemetry.logs.localConfig.localsyslog.endpoint |
本地 syslog 端點 | 如果設定為 localsyslog,則是;telemetry.logs.local否則不行。 |
N/A |
telemetry.logs.localConfig.localsyslog.facility |
指定本地 syslog 設施程式碼,例如。 7 |
不 | N/A |
telemetry.logs.localConfig.rfc5424.endpoint |
RFC5424 端點。 | 如果設定為 rfc5424,則是;telemetry.logs.local否則不行。 |
N/A |
telemetry.logs.localConfig.rfc5424.facility |
例如,根據 RFC 5424 的設施代碼, 7 |
不 | N/A |
telemetry.logs.localConfig.journal.endpoint |
日誌終點。 | 如果設定為 journal,則是;telemetry.logs.local否則不行。 |
N/A |
交通路由
| Name | 說明 | Required | 預設 |
|---|---|---|---|
service.type |
用來暴露閘道器的 Kubernetes 服務類型。 (Kubernetes 服務類型) | 不 | ClusterIP |
service.http.port |
用來暴露 HTTP 流量的埠號。 | 不 | 8080 |
service.http.nodePort |
節點上的埠口用來暴露 HTTP 流量。 此設定要求 NodePort 為服務類型。 |
不 | N/A |
service.https.port |
用來暴露 HTTPS 流量的埠口。 | 不 | 8081 |
service.https.nodePort |
節點上的埠口用來暴露 HTTPS 流量。 此設定要求 NodePort 為服務類型。 |
不 | N/A |
service.annotations |
為閘道器加入 Kubernetes 服務的註解。 | 不 | N/A |
ingress.annotations |
為閘道器添加的 Kubernetes Ingress 註解。 (實驗性的 Kubernetes Ingress 支援) | 不 | N/A |
ingress.enabled |
是否使用 Kubernetes Ingress 的指示。 (實驗性的 Kubernetes Ingress 支援) | 不 | false |
ingress.tls |
Kubernetes Ingress 的 TLS 設定。 (實驗性的 Kubernetes Ingress 支援) | 不 | N/A |
ingress.hosts |
用於 Kubernetes Ingress 的主機配置。 (實驗性的 Kubernetes Ingress 支援) | 不 | N/A |
Integrations
自架閘道器可整合多種其他技術。 本節提供您可以使用的配置選項概覽。
Dapr
| Name | 說明 | Required | 預設 |
|---|---|---|---|
dapr.enabled |
指示是否使用 DAPR 整合。 | 不 | false |
dapr.app.id |
用於 DAPR 整合的應用程式 ID。 | 不 | None |
dapr.config |
定義 CRD DAPR 應該使用哪種設定。 | 不 | tracing |
dapr.logging.level |
Dapr 側車的日誌冗長程度。 | 不 | info |
dapr.logging.useJsonOutput |
顯示日誌是否為 JSON 格式。 | 不 | true |
Azure 監視器
| Name | 說明 | Required | 預設 |
|---|---|---|---|
monitoring.customResourceId |
Azure Log Analytics 工作空間的資源 ID,用來傳送日誌。 | 不 | N/A |
monitoring.ingestionKey |
Ingestion key 用來與 Azure Log Analytics workspace 進行認證,以便傳送日誌。 | 不 | N/A |
monitoring.workspaceId |
Azure Log Analytics 工作區的 Workspace ID 用於傳送日誌。 | 不 | N/A |
影像與工作負載排程
Kubernetes 是一個強大的編排平台,能在部署內容與排程方式上提供極大的彈性。
本節概述可用設定選項,以影響所使用的影像,以及影像如何排程與設定自我修復。
| Name | 說明 | Required | 預設 |
|---|---|---|---|
replicaCount |
自架閘道可執行的實例數。 | 不 | 3 |
image.repository |
畫面要跑。 | 不 | mcr.microsoft.com/azure-api-management/gateway |
image.pullPolicy |
用於拉取容器映像的政策。 | 不 | IfNotPresent |
image.tag |
容器圖片標籤。 | 不 | 擴充功能使用應用程式版本 |
imagePullSecrets |
Kubernetes 的秘密,用於在拉取容器映像時用來驗證容器登錄檔。 | 不 | N/A |
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/記憶體資源以指派至閘道的功能 | 不 | N/A |
nodeSelector |
具備使用選擇器來識別閘道應運行的節點的能力。 | 不 | N/A |
affinity |
Affinity for pod scheduling (Kubernetes node affinity) | 不 | N/A |
tolerations |
Pod 排程的容忍度(Kubernetes taints and totoleranceations) | 不 | N/A |