Share via


使用 Azure CLI 管理工作負載配置檔

瞭解如何使用 Azure CLI 管理工作負載配置文件環境。

在配置檔中建立容器應用程式

根據預設,您的 Container Apps 環境會使用自動為您產生的受控 VNet 來建立。 產生的 VNet 在您於 Microsoft 租使用者中建立時無法存取。

或者,如果您需要下列任何功能,您可以使用自定義 VNet 建立環境

  • 用戶定義的路由
  • 與 應用程式閘道整合
  • 網路安全性群組
  • 與虛擬網路中私人端點後方的資源通訊

當您使用自定義 VNet 建立環境時,您可以完全控制 VNet 組態。 此數量控制可讓您選擇實作下列功能:

  • 用戶定義的路由
  • 與 應用程式閘道整合
  • 網路安全性群組
  • 與虛擬網路中私人端點後方的資源通訊

使用下列命令來建立工作負載配置文件環境。

  1. 建立 VNet。

    az network vnet create \
      --address-prefixes 13.0.0.0/23 \
      --resource-group "<RESOURCE_GROUP>" \
      --location "<LOCATION>" \
      --name "<VNET_NAME>"
    
  2. 建立委派給 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 必須授與 Container Apps 運行時間對 VNet 的必要控制權,才能在 Container Apps 環境中執行工作負載配置檔。

    您可以針對子網指定為 /27 小型 CIDR(保留 32 個 IP-8)。 如果您要指定 /27 CIDR,請考慮下列專案:

    • 有 11 個 IP 位址保留給 Container Apps 基礎結構。 因此,CIDR 最多有 21 個 /27 可用的 IP 位址。

    • 僅限取用和專用方案之間會以不同的方式配置 IP 位址:

      僅限取用 專用
      每個復本都需要一個IP。 用戶無法跨所有應用程式擁有超過 21 個複本的應用程式。 零停機時間部署需要IP兩倍,因為舊的修訂正在執行,直到新修訂成功部署為止。 每個實例 (VM 節點) 都需要單一IP。 您可以在所有工作負載配置檔中擁有最多 21 個實例,以及在這些工作負載配置檔上執行的數百個以上的複本。
  1. 建立 工作負載配置文件 環境

    注意

    您可以設定容器應用程式是否允許公用輸入,或只允許從環境層級的 VNet 內輸入。 若要將輸入限制為只有您的 VNet,請設定 --internal-only 旗標。

    az containerapp env create \
      --enable-workload-profiles \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<NAME>" \
      --location "<LOCATION>"
    
    az containerapp env create \
      --enable-workload-profiles \
      --resource-group "<RESOURCE_GROUP>" \
      --name "<NAME>" \
      --location "<LOCATION>"
    

    此命令最多可能需要 10 分鐘才能完成。

  2. 檢查環境的狀態。 下列命令會報告是否已成功建立環境。

    az containerapp env show \
      --name "<ENVIRONMENT_NAME>" \
      --resource-group "<RESOURCE_GROUP>"
    

    provisioningState需要先報告Succeeded,再繼續進行下一個命令。

  3. 建立新的容器應用程式。

    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> 

下一步