적용 대상: 개발자 | 프리미엄
이 글은 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 |