共用方式為


Azure Arc 上的 Azure 容器應用程式 (預覽)

您可以在已啟用 Azure Arc 的 AKS 或 AKS-HCI 叢集上執行容器應用程式。

在已啟用 Azure Arc 的 Kubernetes 叢集中執行允許:

  • 開發人員利用容器應用程式的功能
  • IT 管理員透過在內部基礎結構上裝載容器應用程式來維護公司合規性。

透過設定已啟用 Azure Arc 的 Kubernetes 叢集以執行 Azure 容器應用程式,了解如何設定適用於容器應用程式的 Kubernetes 叢集

當您設定叢集時,您將執行下列動作:

公開預覽限制

下列公開預覽限制適用於已啟用 Azure Arc 的 Kubernetes 上的 Azure 容器應用程式。

限制 詳細資料
支援的 Azure 區域 美國東部、西歐、東亞
叢集網路需求 必須支援 LoadBalancer 服務類型
節點 OS 需求 僅限 Linux
功能:受控身分識別 無法使用
功能:使用受控識別從 ACR 提取映像 無法使用 (取決於受控身分識別)
記錄 Log Analytics 必須設定為使用叢集延伸模組;不是每個應用程式

重要

如果部署到 AKS-HCI,請先確定您已將 HAProxy 設定為負載平衡器,然後再嘗試安裝擴充功能。

容器應用程式延伸模組所建立的資源

在已啟用 Azure Arc 的 Kubernetes 叢集上安裝容器應用程式延伸模組時,會在指定的發行命名空間中建立數個資源。 這些資源可讓叢集成為 Microsoft.App 資源提供者的延伸模組,以支援應用程式的管理和作業。

您可以選擇讓延伸模組安裝 KEDA 以進行事件驅動調整。 不過,叢集上只允許一個 KEDA 安裝。 如果您有現有的安裝,請在安裝叢集延伸模組時停用 KEDA 安裝。

下表描述為您建立的每個修訂角色:

Pod 描述 執行個體數目 CPU 記憶體 類型
<extensionName>-k8se-activator 作為調整管道的一部分使用 2 100 millicpu 500 MB ReplicaSet
<extensionName>-k8se-billing 計費記錄產生 - 已啟用 Azure Arc 的 Azure 容器應用程式在預覽期間免費 3 100 millicpu 100 MB ReplicaSet
<extensionName>-k8se-containerapp-controller 在叢集上建立資源並維護元件狀態的核心操作員 Pod。 2 100 millicpu 1 GB ReplicaSet
<extensionName>-k8se-envoy 所有資料平面 HTTP 要求的前端 Proxy 層。 其會將輸入流量路由至正確的應用程式。 3 1 核心 1,536 MB ReplicaSet
<extensionName>-k8se-envoy-controller 運算子,會產生 Envoy 組態 2 200 millicpu 500 MB ReplicaSet
<extensionName>-k8se-event-processor 替代路由目的地,可協助在系統取得第一個可用的執行個體時,調整為零的應用程式。 2 100 millicpu 500 MB ReplicaSet
<extensionName>-k8se-http-scaler 監視輸入要求磁碟區,以在 KEDA 上提供調整資訊。 1 100 millicpu 500 MB ReplicaSet
<extensionName>-k8se-keda-cosmosdb-scaler KEDA Cosmos DB 調整工具 1 10 公尺 128 MB ReplicaSet
<extensionName>-k8se-keda-metrics-apiserver KEDA 計量伺服器 1 1 核心 1,000 MB ReplicaSet
<extensionName>-k8se-keda-operator 將工作負載從 0/1 相應放大至 N 個執行個體 1 100 millicpu 500 MB ReplicaSet
<extensionName>-k8se-log-processor 從應用程式和其他元件收集記錄,並將其傳送至 Log Analytics。 2 200 millicpu 500 MB DaemonSet
<extensionName>-k8se-mdm 計量和記錄代理程式 2 500 millicpu 500 MB ReplicaSet
dapr-metrics Dapr 計量 Pod 1 100 millicpu 500 MB ReplicaSet
dapr-operator 管理 Dapr 的元件更新和服務端點 1 100 millicpu 500 MB ReplicaSet
dapr-placement-server 僅針對「動作項目」使用 - 建立對應資料表,將動作項目執行個體對應至 Pod 1 100 millicpu 500 MB StatefulSet
dapr-sentry 管理服務之間的 mTLS,並作為 CA 2 800 millicpu 200 MB ReplicaSet

Azure Arc 上的 Azure 容器應用程式常見問題 (預覽)

需要多少成本?

已啟用 Azure Arc 的 Kubernetes 上的 Azure 容器應用程式在公共預覽期間是免費的。

支援哪些容器應用程式功能?

在預覽期間,某些 Azure 容器應用程式功能正在接受驗證。 支援這些功能時,將會啟動 Azure 入口網站中的左側導覽選項。 尚未支援的功能會維持灰色。

是否支援受控身分識別?

不支援受控識別。 在 Azure Arc 中執行時,無法將受控識別指派給應用程式。如果您的應用程式需要身分識別來處理另一個 Azure 資源,請考慮改用應用程式服務主體

是否有任何調整限制?

使用已啟用 Azure Arc 的 Kubernetes 上的 Azure 容器應用程式部署的所有應用程式,都可以在基礎 Kubernetes 叢集的限制內進行調整。 如果叢集用完可用的計算資源 (主要為 CPU 和記憶體),則應用程式會調整為 Kubernetes 可使用可用資源排程的應用程式執行個體數目。

會收集哪些記錄?

系統元件和應用程式的記錄都會寫入標準輸出。

您可以使用標準 Kubernetes 工具來收集這兩種記錄類型以進行分析。 您也可以使用 Log Analytics 工作區設定應用程式環境叢集延伸模組,其會將所有記錄傳送至該工作區。

根據預設,系統元件的記錄會傳送給 Azure 團隊。 不會傳送應用程式記錄。 您可以將 logProcessor.enabled=false 設定為擴充功能組態設定,以防止傳輸這些記錄。 此設定會停用將應用程式轉送至 Log Analytics 工作區的功能。 停用記錄處理器可能會影響任何支援案例所需的時間,而且系統會要求您透過其他方法從標準輸出收集記錄。

如果我看到提供者註冊錯誤,該怎麼辦?

當您建立 Azure 容器應用程式連線環境資源時,某些訂用帳戶可能會看到「找不到已註冊的資源提供者」錯誤。 錯誤詳細資料可能包含一組被視為有效的位置和 API 版本。 如果傳回此錯誤訊息,則必須向 Microsoft.App 提供者重新註冊訂用帳戶。 重新註冊提供者不會影響現有的應用程式或 API。 若要重新註冊,請使用 Azure CLI 來執行 az provider register --namespace Microsoft.App --wait。 然後重新嘗試連線環境命令。

擴充功能是否可以安裝在 Windows 節點上?

否,無法在 Windows 節點上安裝擴充功能。 支援在 Linux 節點上安裝擴充功能。

我可以在 Arm64 型叢集上部署容器應用程式延伸模組嗎?

目前不支援 Arm64 型叢集。

延伸模組版本資訊

容器應用程式延伸模組 v1.0.46 (2022 年 12 月)

  • 容器應用程式延伸模組的初始公開預覽版本

容器應用程式延伸模組 v1.0.47 (2023 年 1 月)

  • 將 Envoy 升級至 1.0.24

容器應用程式延伸模組 v1.0.48 (2023 年 2 月)

  • 將探查新增至 EasyAuth 容器
  • 已增加 dapr-operator 的記憶體限制
  • 已新增防止平台標頭覆寫的功能

容器應用程式延伸模組 v1.0.49 (2023 年 2 月)

  • 將 KEDA 升級至 2.9.1,並將 Dapr 升級至 1.9.5
  • 將 Envoy 控制器資源限制提高到 200 m CPU
  • 將容器應用程式控制器資源限制提高到 1 GB 記憶體
  • 將 EasyAuth Sidecar 資源限制縮減為 50 m CPU
  • 解決遺漏計量值的 KEDA 錯誤記錄

容器應用程式延伸模組 v1.0.50 (2023 年 3 月)

  • 已更新與公用雲端同步的記錄映像

容器應用程式延伸模組 v1.5.1 (2023 年 4 月)

  • 新的版本控制號碼格式
  • 將 Dapr 升級至 1.10.4
  • 在部署新的修訂後維持 Envoy 的規模
  • 將預設啟動探查新增至容器時,如果開發人員未同時定義啟動和整備探查,則會新增預設啟動探查
  • 將 CONTAINER_APP_REPLICA_NAME 環境變數新增至自訂容器
  • 在多個修訂停止時改進效能

容器應用程式延伸模組 v1.12.8 (2023 年 6 月)

  • 將 OSS Fluent Bit 更新為 2.1.2,並將 Dapr 更新為 1.10.6
  • 支援在自訂連接埠上公開的容器登錄
  • 在容器應用程式停止時啟用/停用修訂
  • 修正修訂清單未傳回 init 容器的問題
  • 針對 cors 原則新增的預設允許標頭

容器應用程式延伸模組 v1.12.9 (2023 年 7 月)

  • EasyAuth Sidecar 容器的次要更新
  • 延伸模組監視代理程式的更新

容器應用程式延伸模組 v1.17.8 (2023 年 8 月)

  • 將 EasyAuth 更新為 1.6.16、將 Dapr 更新為 1.10.8,並將 Envoy 更新為 1.25.6
  • 新增 Azure 容器應用程式作業的磁碟區掛接支援
  • 已針對具有 TCP 輸入類型的應用程式新增 IP 限制
  • 已新增具有多個公開連接埠的容器應用程式支援

容器應用程式延伸模組 v1.23.5 (2023 年 12 月)

  • 將 Envoy 更新為 1.27.2、將 KEDA 更新為 v2.10.0、將 EasyAuth 更新為 1.6.20,並將 Dapr 更新為 1.11
  • 將 Envoy 設定為最大 TLS 1.3
  • 修正解決記錄處理器 Pod 中的當機問題
  • 修正映像提取秘密擷取問題
  • 更新 Envoy 的位置,以盡可能散發到可用節點上
  • 當容器應用程式因修訂衝突而無法佈建時,請將佈建狀態設定為失敗

容器應用程式延伸模組 v1.30.6 (2024 年 1 月)

  • 將 KEDA 更新為 v2.12、將 Envoy SC 映像更新為 v1.0.4,並將 Dapr 映像更新為 v1.11.6
  • 已將 Envoy 路由的預設回應逾時新增至 1,800 秒
  • 已將 Fluent 位元預設記錄層級變更為警告
  • 延遲刪除作業 Pod 以確保記錄發出
  • 已修正因作業執行失敗而刪除作業 Pod 的問題
  • 確定處於暫停狀態的作業已刪除失敗的 Pod
  • 更新為不解析 TCP 應用程式的 HTTPOptions
  • 允許應用程式接聽 HTTP 或 HTTPS
  • 新增暫停作業的能力
  • 已修正在停止作業執行後 KEDA 調整工具無法建立作業的問題
  • 若叢集重新啟動,請將 startingDeadlineSeconds 新增至容器應用程式作業中
  • 已移除 Envoy 存取記錄伺服器中的大量記錄
  • 已更新已啟用 Azure Arc 的 Kubernetes 上的 Azure 容器應用程式的監視設定版本

容器應用程式延伸模組 v1.36.15 (2024 年 4 月)

  • 將 Dapr 更新為 v1.12,並將 Dapr 計量更新為 v0.6
  • 允許客戶在 Dapr 中啟用 Azure SDK 偵錯記錄
  • 調整 Envoy 以回應記憶體使用量
  • 將 Envoy 記錄格式變更為 JSON
  • 匯出其他 Envoy 計量
  • 當記錄內容無法剖析時,截斷 Envoy 記錄到前 1,024 個字元
  • 在本機 Proxy 中正常處理 SIGTERM
  • 允許能夠搭配 KEDA 使用不同的命名空間
  • 針對調整規則名稱新增的驗證
  • 預設啟用的修訂 GC
  • 啟用邊車計量的排放
  • 已將 volumeMounts 新增至作業執行
  • 已將驗證新增至作業的 Webhook 端點

容器應用程式延伸模組 v1.37.1 (2024 年 7 月)

  • 更新 EasyAuth 以支援 MISE

容器應用程式延伸模組 v1.37.2 (2024 年 9 月)

  • 已將 Dapr-Metrics 映像更新為 v0.6.8,以解決網路逾時問題
  • 已解決記錄處理器中在叢集於 Proxy 後方連線時會導致 MDSD 容器無法啟動的問題

Container Apps 擴充功能 v1.37.7 (2024 年 10 月)

  • 已解決 MDM Init 容器導致容器在無法提取時損毀的問題
  • 已新增 Logic Apps 混合式部署模型的支持 (公開預覽)

下一步

建立容器應用程式連線環境 (預覽)