Reference: Self-hosted gateway Azure Arc configuration settings

適用於:開發人員 | 進階

本文提供了設定 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