런타임 컨텍스트에 따라 다양한 인수 및 주석을 사용하여 Dapr을 구성할 수 있습니다. Azure Container Apps에서 사용할 수 있는 Dapr 구성은 애플리케이션 범위 변경으로 간주됩니다. 컨테이너 앱을 다중 리비전 모드에서 실행할 경우, 이러한 설정 변경은 새로운 리비전을 생성하지 않습니다. 대신, 모든 기존 리비전이 다시 시작되어 최신 값으로 구성되도록 합니다.
Azure Container Apps는 Dapr을 사용하도록 설정하고 구성할 수 있는 세 가지 채널을 제공합니다.
다음 표는 Azure Container Apps에서 Dapr를 활성화할 때 지원되는 Dapr 사이드카 구성 목록을 정리한 것입니다.
| 컨테이너 앱 CLI | 템플릿 필드 | 설명 |
|---|---|---|
--enable-dapr |
dapr.enabled |
컨테이너 앱에서 Dapr을 사용하도록 설정합니다. |
--dapr-app-port |
dapr.appPort |
Dapr가 애플리케이션과 통신할 때 사용하는, 애플리케이션이 수신 대기하는 포트입니다. |
--dapr-app-protocol |
dapr.appProtocol |
애플리케이션에서 사용 중인 프로토콜을 Dapr에 알려줍니다. 유효한 옵션은 http 또는 grpc입니다. 기본 설정은 .입니다 http. |
--dapr-app-id |
dapr.appId |
서비스 검색, 상태 캡슐화, 퍼브/섭(Pub/Sub) 소비자 ID에 사용되는 컨테이너 앱의 고유 Dapr 식별자입니다. |
--dapr-max-request-size |
dapr.httpMaxRequestSize |
대용량 파일 업로드를 처리하기 위해 요청 본문 http 및 grpc 서버의 최대 크기를 설정합니다. 기본 설정은 .입니다 4 MB. |
--dapr-read-buffer-size |
dapr.httpReadBufferSize |
다중 KB 헤더를 보낼 때 처리할 http 헤더 읽기 버퍼의 최대 크기를 설정합니다. 기본 설정은 .입니다 4 KB. |
--dapr-api-logging |
dapr.enableApiLogging |
애플리케이션에서 Dapr 사이드카로의 API 호출을 볼 수 있습니다. |
--dapr-log-level |
dapr.logLevel |
Dapr 사이드카의 로그 수준을 설정합니다. 허용되는 값: 디버그, 오류, 정보, 경고 기본 설정은 .입니다 info. |
--dapr-app-health-enabled |
dapr.appHealth.enabled |
컨테이너 앱에 대한 앱 상태 검사를 활성화하기 위한 선택적 구성으로, 부울 형식을 사용합니다. 기본 설정은 .입니다 false. Dapr 사이드카 상태는 이 앱 상태 설정에 연결됩니다. |
--dapr-app-health-path |
dapr.appHealth.path |
앱 채널이 HTTP일 때 Dapr이 상태 프로브에 대해 호출하는 경로를 설정합니다. 앱 채널이 gRPC를 사용하는 경우 이 값은 무시됩니다. 기본 설정은 .입니다 /healthz. |
--dapr-app-health-probe-interval |
dapr.appHealth.probeIntervalSeconds |
각 상태 프로브 사이의 시간(초)입니다. 기본 설정은 .입니다 3. |
--dapr-app-health-probe-timeout |
dapr.appHealth.probeTimeoutMilliseconds |
상태 프로브 요청에 대한 시간 제한(밀리초)입니다. 이 값은 값보다 probeIntervalSeconds 작아야 합니다. 기본 설정은 .입니다 500. |
--dapr-app-health-threshold |
dapr.appHealth.threshold |
앱이 비정상으로 간주되기 전의 최대 연속 오류 수입니다. 기본 설정은 .입니다 3. |
--dapr-max-concurrency |
dapr.maxConcurrency |
애플리케이션의 동시성을 제한합니다. 유효한 값은 .보다 0큰 숫자입니다.
-1 는 동시성에 제한이 없음을 의미합니다. |
CLI 사용
Azure CLI를 사용하여 컨테이너 앱에서 Dapr를 활성화할 수 있습니다.
az containerapp dapr enable
Bicep 또는 ARM 사용
IaC 템플릿을 사용하는 경우 컨테이너 앱 리소스 정의의 properties.configuration 섹션에서 다음 인수를 지정합니다.
dapr: {
enabled: true
appId: 'nodeapp'
appProtocol: 'http'
appPort: 3000
httpReadBufferSize: 30
httpMaxRequestSize: 10
logLevel: 'debug'
enableApiLogging: true
appHealth: {
enabled: true
path: '/health'
probeIntervalSeconds: 3
probeTimeoutMilliseconds: 1000
threshold: 3
},
maxConcurrency: 10
}
Azure Portal 사용
컨테이너 앱 포털 뷰를 통해서도 Dapr를 활성화할 수 있습니다.
참고
시작하기 전에, 미리 자신만의 Dapr 구성 요소를 생성했는지 확인하세요. 포털에서 컨테이너 앱 환경을 통해 Dapr 구성 요소를 연결할 수 있습니다.
Azure 포털에서 컨테이너 앱으로 이동한 후, 왼쪽 메뉴의 설정 아래에서 Dapr를 선택합니다.
기본적으로 Dapr는 비활성화되어 있습니다. 사용을 선택하여 Dapr 설정을 확장합니다.
구성 요소 앱 ID를 입력하고 적절한 항목을 선택합니다. 해당되는 경우, 구성 요소 헤더에서 컨테이너 앱 환경에 Dapr 구성 요소를 추가하고 관리할 수 있는 링크를 선택합니다.