Azure Arc 上的 Azure 容器應用程式 (預覽)
您可以在已啟用 Azure Arc 的 AKS 或 AKS-HCI 叢集上執行容器應用程式。
在已啟用 Azure Arc 的 Kubernetes 叢集中執行允許:
- 開發人員利用容器應用程式的功能
- IT 管理員透過在內部基礎結構上裝載容器應用程式來維護公司合規性。
透過設定已啟用 Azure Arc 的 Kubernetes 叢集以執行 Azure 容器應用程式,了解如何設定適用於容器應用程式的 Kubernetes 叢集
當您設定叢集時,您將執行下列動作:
已連線的叢集,這是 Kubernetes 基礎結構的 Azure 投影。 如需詳細資訊,請參閱已啟用 Azure Arc 的 Kubernetes 是什麼?。
叢集延伸模組,這是已連線叢集資源的子資源。 容器應用程式延伸模組會將必要的資源安裝到已連線的叢集中。 如需叢集延伸模組的詳細資訊,請參閱已啟用 Azure Arc 的 Kubernetes 上的叢集延伸模組。
自訂位置,會將延伸模組群組組合在一起,並將其對應至已建立資源的命名空間。 如需詳細資訊,請參閱已啟用 Azure Arc 的 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 容器應用程式常見問題 (預覽)
- 需要多少成本?
- 支援哪些容器應用程式功能?
- 是否支援受控身分識別?
- 是否有任何調整限制?
- 會收集哪些記錄?
- 如果我看到提供者註冊錯誤,該怎麼辦?
- 擴充功能是否可以安裝在 Windows 節點上?
- 我可以在 Arm64 型叢集上部署容器應用程式延伸模組嗎?
需要多少成本?
已啟用 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 混合式部署模型的支持 (公開預覽)