Azure CLI를 사용하여 워크로드 프로필 관리
Azure CLI를 사용하여 워크로드 프로필 환경을 관리하는 방법을 알아봅니다.
프로필에서 컨테이너 앱 만들기
기본적으로 Container Apps 환경은 자동으로 생성되는 관리형 VNet을 사용하여 만들어집니다. VNet은 Microsoft 테넌트에서 생성되므로 사용자가 액세스할 수 없습니다.
또는 다음 기능이 필요한 경우 사용자 지정 VNet을 사용하여 환경을 만들 수 있습니다.
- 사용자 정의 경로
- Application Gateway와 통합
- 네트워크 보안 그룹
- 가상 네트워크의 프라이빗 엔드포인트 뒤에 있는 리소스와 통신
사용자 지정 VNet을 사용하여 환경을 만들 때 VNet 구성을 완전히 제어할 수 있습니다. 이 정도의 컨트롤을 사용하면 다음 기능을 구현할 수 있습니다.
- 사용자 정의 경로
- Application Gateway와 통합
- 네트워크 보안 그룹
- 가상 네트워크의 프라이빗 엔드포인트 뒤에 있는 리소스와 통신
다음 명령을 사용하여 워크로드 프로필 환경을 만듭니다.
VNet 만들기
az network vnet create \ --address-prefixes 13.0.0.0/23 \ --resource-group "<RESOURCE_GROUP>" \ --location "<LOCATION>" \ --name "<VNET_NAME>"
Microsoft.App/environments
에 위임된 서브넷을 만듭니다.az network vnet subnet create \ --address-prefixes 13.0.0.0/23 \ --delegations Microsoft.App/environments \ --name "<SUBNET_NAME>" \ --resource-group "<RESOURCE_GROUP>" \ --vnet-name "<VNET_NAME>" \ --query "id"
ID 값을 복사하여 다음 명령에 붙여넣습니다.
Microsoft.App/environments
위임은 Container Apps 환경에서 워크로드 프로필을 실행하는 데 필요한 VNet 제어를 Container Apps 런타임에 제공하는 데 필요합니다.서브넷은
/27
CIDR(IP 32개-8개 예약)만큼 작게 지정할 수 있습니다./27
CIDR을 지정하려는 경우 다음 항목을 고려합니다.Container Apps 인프라용으로 예약된 IP 주소는 11개입니다. 따라서
/27
CIDR에는 최대 21개의 사용 가능한 IP 주소가 있습니다.IP 주소는 소비 전용 플랜과 전용 플랜 간에 다르게 할당됩니다.
사용량 과금만 전용 모든 복제본에는 하나의 IP가 필요합니다. 사용자는 모든 앱에서 복제본이 21개가 넘는 앱을 소유할 수 없습니다. 가동 중지 시간이 없는 배포의 경우 새 수정 버전이 성공적으로 배포될 때까지 이전 수정 버전이 실행되므로 두 배의 IP가 필요합니다. 모든 인스턴스(VM 노드)에는 하나의 IP가 필요합니다. 모든 워크로드 프로필에서 최대 21개의 인스턴스를 소유할 수 있으며, 이러한 워크로드 프로필에서 실행되는 복제본은 수백 개 이상 소유할 수 있습니다.
워크로드 프로필 환경 만들기
참고 항목
컨테이너 앱이 환경 수준에서 공개 수신을 허용할지 아니면 VNet 내에서만 수신을 허용할지 여부를 구성할 수 있습니다. VNet으로만 수신을 제한하려면
--internal-only
플래그를 설정합니다.az containerapp env create \ --enable-workload-profiles \ --resource-group "<RESOURCE_GROUP>" \ --name "<NAME>" \ --location "<LOCATION>"
이 명령이 완료되려면 최대 10분이 소요될 수 있습니다.
환경의 상태를 확인합니다. 다음 명령은 환경이 성공적으로 만들어졌는지 보고합니다.
az containerapp env show \ --name "<ENVIRONMENT_NAME>" \ --resource-group "<RESOURCE_GROUP>"
provisioningState
는 다음 명령으로 이동하기 전에Succeeded
를 보고해야 합니다.새 컨테이너 앱을 만듭니다.
az containerapp create \ --resource-group "<RESOURCE_GROUP>" \ --name "<CONTAINER_APP_NAME>" \ --target-port 80 \ --ingress external \ --image mcr.microsoft.com/k8se/quickstart:latest \ --environment "<ENVIRONMENT_NAME>" \ --workload-profile-name "Consumption"
이 명령은 애플리케이션을 기본 제공 사용량 워크로드 프로필에 배포합니다. 전용 프로필에서 앱을 만들려면 먼저 환경에 프로필을 추가해야 합니다.
이 명령은 특정 워크로드 프로필을 사용하여 환경에 새 애플리케이션을 만듭니다.
프로필 추가
기존 환경에 새 워크로드 프로필을 추가합니다.
az containerapp env workload-profile add \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-type <WORKLOAD_PROFILE_TYPE> \
--workload-profile-name <WORKLOAD_PROFILE_NAME> \
--min-nodes <MIN_NODES> \
--max-nodes <MAX_NODES>
<WORKLOAD_PROFILE_NAME>
자리 표시자로 선택하는 값은 워크로드 프로필 식별 이름입니다.
식별 이름을 사용하면 환경에 동일한 유형의 여러 프로필을 추가할 수 있습니다. 식별 이름은 워크로드 프로필에서 컨테이너 앱을 배포하고 유지 관리할 때 사용하는 이름입니다.
프로필 편집
update
명령을 통해 워크로드 프로필에서 사용하는 최소 및 최대 노드 수를 수정할 수 있습니다.
az containerapp env workload-profile update \
--resource-group <RESOURCE_GROUP> \
--name <ENV_NAME> \
--workload-profile-type <WORKLOAD_PROFILE_TYPE> \
--workload-profile-name <WORKLOAD_PROFILE_NAME> \
--min-nodes <MIN_NODES> \
--max-nodes <MAX_NODES>
프로필 삭제
워크로드 프로필을 삭제하려면 다음 명령을 사용합니다.
az containerapp env workload-profile delete \
--resource-group "<RESOURCE_GROUP>" \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>
참고 항목
사용량 워크로드 프로필은 삭제할 수 없습니다.
프로필 검사
다음 명령을 사용하면 사용자의 지역에서 사용 가능한 프로필과 특정 환경에서 사용되는 프로필을 나열할 수 있습니다.
사용 가능한 워크로드 프로필 나열
list-supported
명령을 사용하여 사용자의 지역에 지원되는 워크로드 프로필을 나열합니다.
다음 Azure CLI 명령은 결과를 테이블에 표시합니다.
az containerapp env workload-profile list-supported \
--location <LOCATION> \
--query "[].{Name: name, Cores: properties.cores, MemoryGiB: properties.memoryGiB, Category: properties.category}" \
-o table
응답은 아래 예제 테이블과 유사하게 표시됩니다.
Name Cores MemoryGiB Category
----------- ------- ----------- ---------------
D4 4 16 GeneralPurpose
D8 8 32 GeneralPurpose
D16 16 64 GeneralPurpose
E4 4 32 MemoryOptimized
E8 8 64 MemoryOptimized
E16 16 128 MemoryOptimized
E32 32 256 MemoryOptimized
Consumption 4 8 Consumption
워크로드 프로필을 선택하고 --workload-profile-type
옵션에 대해 az containerapp env workload-profile set
를 실행할 때 이름 필드를 사용합니다.
워크로드 프로필 표시
워크로드 프로필의 세부 정보를 표시합니다.
az containerapp env workload-profile show \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>