使用 Azure CLI 管理工作負載設定檔
了解如何使用 Azure CLI 管理工作負載設定檔環境。
在設定檔中建立容器應用程式
根據預設,您的容器應用程式環境會使用自動為您產生的受控 VNet 來建立。 您無法存取所產生的 VNet,因為此 VNet 建立在 Microsoft 的租用戶中。
或者,如果您需要下列任何功能,您可以使用自訂 VNet 建立環境:
- 使用者定義路由
- 與應用程式閘道整合
- 網路安全性群組
- 與虛擬網路中私人端點後方的資源通訊
當您使用自訂 VNet 建立環境時,您可以完全控制 VNet 組態。 此數量控制可讓您選擇實作下列功能:
- 使用者定義路由
- 與應用程式閘道整合
- 網路安全性群組
- 與虛擬網路中私人端點後方的資源通訊
使用下列命令來建立工作負載設定檔環境。
建立 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"
複製識別碼值並貼到下一個命令。
Microsoft.App/environments
委派必須授與容器應用程式執行階段對 VNet 的必要控制權,才能在容器應用程式環境中執行工作負載設定檔。您可以針對子網路指定盡可能小的
/27
CIDR (保留 32 個 IP-8)。 如果您要指定/27
CIDR,請考慮下列項目:有 11 個 IP 位址保留給容器應用程式基礎結構。 因此,
/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 update
字段。az containerapp env workload-profile add
顯示工作負載設定檔
顯示工作負載設定檔的詳細資料。
az containerapp env workload-profile show \
--resource-group <RESOURCE_GROUP> \
--name <ENVIRONMENT_NAME> \
--workload-profile-name <WORKLOAD_PROFILE_NAME>