Reference: Self-hosted gateway Azure Arc configuration settings

적용 대상: 개발자 | 프리미엄

이 글은 Azure Arc 확장 for API Management 자체 호스팅 게이트웨이 컨테이너를 구성하기 위한 필수 및 선택적 설정에 대한 참고 자료를 제공합니다.

Important

Azure Arc의 API Management 자체 호스팅 게이트웨이는 현재 미리 보기로 제공됩니다. 미리 보기 중에는 다음 지역에서 API Management 게이트웨이 확장을 사용할 수 있습니다.

  • 아시아(동부, 남동부)
  • 오스트레일리아(중부, 중부 2, 동부 및 남동부)
  • 브라질(남부 및 남동부)
  • 캐나다(중부, 동부)
  • 유럽(북부, 서부)
  • 프랑스(중부 및 남부)
  • 독일(북부 및 중서부)
  • 인도(중부, 남부, 서부, Jio 중부 및 Jio 서부)
  • 일본(동부 및 서부)
  • 한국(중부 및 남부)
  • 노르웨이(동부 및 서부)
  • 남아프리카(북부 및 서부)
  • 스웨덴(중부)
  • 스위스(북부 및 서부)
  • 아랍에미리트(UAE - 중부 및 북부)
  • 영국(UK - 남부)
  • 미국(US - 중부, 중부 EUAP, 동부, 동부 2, 동부 2 EUAP, 중북부, 중남부, 중서부, 서부, 서부 2, 서부 3)

구성 API 통합

셀프 호스팅 게이트웨이는 Configuration API를 사용해 Azure API Management에 연결하여 최신 구성을 받고 활성화된 경우 메트릭을 전송합니다.

모든 구성 옵션에 대한 개요는 다음과 같습니다:

이름 Description 필수 기본값
gateway.configuration.uri Azure API Management in the self-hosted gateway for the self-hosted gateway. 이 값은 Azure 포털의 게이트웨이>배포 항목에서 확인하세요. N/A
gateway.auth.token Azure API Management 서비스와 인증하기 위한 인증 키. 일반적으로 GatewayKey로 시작합니다. N/A
gateway.configuration.backup.enabled 활성화된 경우, 저장 볼륨에 저장 가능한 최신 다운로드된 구성의 백업 복사본을 저장합니다. 아니오 false
gateway.configuration.backup.persistentVolumeClaim.accessMode 지속 볼륨 청구(PVC) 포드의 접근 모드입니다. 아니오 ReadWriteMany
gateway.configuration.backup.persistentVolumeClaim.size 생성해야 할 영속 볼륨 청구(PVC)의 크기. 아니오 50Mi
gateway.configuration.backup.persistentVolumeClaim.storageClassName Persistent Volume Claim(PVC)에 사용할 스토리지 클래스 이름. 값을null 할당하지 않으면 플랫폼은 기본값을 사용합니다. 지정된 스토리지 클래스는 접근 모드를 지원 ReadWriteMany 해야 합니다. 지원되는 볼륨 제공자와 그들의 접근 방식에 대해 더 알아보세요. 아니오 null

크로스 인스턴스 발견 및 동기화

이름 Description 필수 기본값
service.instance.heartbeat.port 셀프 호스팅 게이트웨이 배포 인스턴스가 다른 인스턴스로 하트비트를 전송하는 데 사용하는 UDP 포트입니다. 아니오 4291
service.instance.synchronization.port 셀프 호스팅 게이트웨이 인스턴스가 여러 인스턴스 간 속도 제한을 동기화하는 데 사용하는 UDP 포트입니다. 아니오 4290

Metrics

이름 Description 필수 기본값
telemetry.metrics.cloud Azure Monitor에 메트릭을 방출할 수 있는지 여부를 표시하세요. 아니오 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

이름 Description 필수 기본값
telemetry.logs.std 표준 스트림에 로그를 활성화하세요. 가치는 다음 옵션 중 하나입니다: none, , textjson. 아니오 text
telemetry.logs.local 로컬 로그를 활성화하세요. Value는 다음 옵션 중 하나입니다: none, auto, localsyslog, rfc5424journal,json 아니오 auto
telemetry.logs.localConfig.localsyslog.endpoint 로컬 syslogs를 위한 엔드포인트 telemetry.logs.local , 가 로 localsyslog설정되어 있으면 그렇지 않으면 아니오. N/A
telemetry.logs.localConfig.localsyslog.facility 로컬 syslog 시설 코드를 지정합니다. 예를 들어, 7. 아니오 N/A
telemetry.logs.localConfig.rfc5424.endpoint RFC5424 엔드포인트. telemetry.logs.local , 가 로 rfc5424설정되어 있으면 그렇지 않으면 아니오. N/A
telemetry.logs.localConfig.rfc5424.facility 예를 들어, RFC5424에 따른 시설 코드, 7 아니오 N/A
telemetry.logs.localConfig.journal.endpoint 저널 종료 지점. telemetry.logs.local , 가 로 journal설정되어 있으면 그렇지 않으면 아니오. N/A

트래픽 라우팅

이름 Description 필수 기본값
service.type 게이트웨이를 노출하는 데 사용할 쿠버네티스 서비스 유형. (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 게이트웨이용 쿠네버티스 서비스에 추가할 주석들. 아니오 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

이름 Description 필수 기본값
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 모니터

이름 Description 필수 기본값
monitoring.customResourceId 로그를 전송할 수 있는 Azure Log Analytics 작업 공간의 Resource ID. 아니오 N/A
monitoring.ingestionKey Azure Log Analytics 작업 공간에서 로그를 전송하기 위해 인증하는 Inestion key. 아니오 N/A
monitoring.workspaceId 로그를 보내는 Workspace ID는 Azure Log Analytics 워크스페이스입니다. 아니오 N/A

이미지 및 작업 스케줄링

쿠버네티스는 배포 방식과 일정 조정에 큰 유연성을 제공하는 강력한 오케스트레이션 플랫폼입니다.

이 섹션에서는 사용되는 이미지에 영향을 미치고, 어떻게 스케줄링되고 자가 치유되도록 설정되는지 개괄적으로 설명합니다.

이름 Description 필수 기본값
replicaCount 셀프 호스팅 게이트웨이가 실행될 인스턴스 수. 아니오 3
image.repository 출연할 이미지 아니오 mcr.microsoft.com/azure-api-management/gateway
image.pullPolicy 컨테이너 이미지 가져오기 위한 정책입니다. 아니오 IfNotPresent
image.tag 컨테이너 이미지 태그를 사용합니다. 아니오 확장 프로그램의 앱 버전이 사용됩니다
imagePullSecrets 컨테이너 이미지를 가져올 때 컨테이너 레지스트리로 인증할 수 있는 쿠버네티스 비밀입니다. 아니오 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 자발적 방해로 인해 사용할 수 없는 포드의 수. 아니오 25%
highAvailability.podTopologySpread.whenUnsatisfiable 요구사항을 충족하지 못할 경우를 대비해 노드 간에 포드를 어떻게 분산해야 하는지 표시하세요. Kubernetes 문서에서 더 알아보세요 아니오 ScheduleAnyway
resources 게이트웨이에 할당할 CPU/메모리 자원을 정의할 수 있는 기능 아니오 N/A
nodeSelector 게이트웨이가 실행되어야 할 노드를 식별하기 위해 셀렉터를 사용할 수 있는 기능. 아니오 N/A
affinity Affinity for pod scheduling (Kubernetes node affinity) 아니오 N/A
tolerations Pod 스케줄링에 대한 허용 범위 (Kubernetes 오염 및 허용 범위) 아니오 N/A