本文列出使用 Azure 容器應用程式的常見問題集與相關解答。
地區
哪裡可以找到 Azure Container Apps 中支援區域的最新資訊?
您可以執行下列 Azure CLI 命令來產生清單:
```azurecli
az provider show \
--namespace Microsoft.App \
--query "resourceTypes[?resourceType=='managedEnvironments'].locations"
```
API
Azure 容器應用程式會提供基礎 Kubernetes API 的直接存取嗎?
沒有,此處無法存取 Kubernetes API。
我可以從 APIM 的內容匯入 Azure 容器應用程式 API 嗎?
是。
計費
Azure 容器應用程式如何計費?
如需詳細資訊,請參閱帳單頁面。
組態
我可以設定 GitHub Actions 自動建置程式碼並將其部署至 Azure 容器應用程式嗎?
是。 使用 Azure CLI 執行 az containerapp github-action -h
以查看選項。 使用 Azure 入口網站,前往容器應用程式底下的「持續部署」視窗。
為什麼我的應用程式收到的 URL 與要求中指定的 URL 不同?
Azure Container Apps 會譯碼 URL,以保護您的應用程式免受 URL 混淆攻擊。 具有編碼部分的要求 URL,例如 http://mysite.com/archive/http%3A%2F%2Fmysite.com%2Farchive%2F123
,會以 的形式 http://mysite.com/archive/http%3A/mysite.com/archive/123
傳送至您的應用程式。
僅限取用環境是否支援自定義使用者定義路由?
若為僅限取用環境,則不支援快速路由,且支援如下列方式設定的有限 UDR。 UDR 組態必須針對服務 Azure.<REGION_NAME>
標籤設定路由,且下一個躍點 = “Internet”。 此外,NSG 檔中的規則必須設定為僅取用環境才能運作。 這些限制不適用於工作負載配置檔,以及完整的精選 UDR 和 Express Route 支援,請使用工作負載配置文件環境。
資料管理
Azure 容器應用程式會將客戶資料儲存在何處?
Azure 容器應用程式不會在其部署區域以外移動或儲存客戶資料。
配額
我如何可要求配額增加?
在 Azure 入口網站中要求增加配額,並選取 Azure 容器應用程式作為提供者。
在配額增加要求時,請記住下列事項:
調整應用程式與環境:有許多不同的配額可供增加。 使用這些說明來協助識別您的需求:
- 增加每個環境的應用程式和核心:可讓您在環境和/或更密集的應用程式內執行更多應用程式。 如果您的工作負載可以在相同的網路和安全性界限內部署,則建議使用。
- 增加環境:如果您的工作負載需要網路或安全性界限,則建議使用。 注意:如果您的要求涉及增加環境層級配額,可能需要詳細的業務內容。 當您要求變更區域環境配額時,您應該要求對應變更全域環境配額。
區域:增加要求的核准會根據 Azure 區域中可用的計算容量而有所不同。
特定計算需求:平台支援每個容器應用程式 4 GB。 記憶體限制覆寫會根據大小寫進行評估。
調整的商務原因:如果平台限制封鎖您的工作負載需求,您可能有資格獲得配額增加要求。 級別限制覆寫會根據大小寫進行評估。
由 Dapr 提供支援的微服務 API
Azure 容器應用程式中有哪些 Dapr 功能和 API 可供使用?
每個 Dapr 功能都會經過徹底的評估,以確保其會對在 Azure 容器應用程式環境微服務的客戶產生正面影響,同時提供最佳的體驗。
是否支援或可在 Azure 容器應用程式中使用 alpha Dapr API 和第 2 層元件?
Dapr 的 Alpha API 可用性不保證或受 Microsoft 支援。
雖然完全支援第 1 層元件,但仍盡力支援第 2 層元件。 深入了解。
Azure 容器應用程式中的 Dapr 版本發行頻率為何?
Dapr 的一般版本時程表是在 Dapr OSS 發行之後最多六週。 最新的 Dapr 版本只有在經過嚴格的測試之後,才能在 Azure Container Apps 中使用。 向所有區域推出最多可能需要兩周或更長的時間。
我如何針對 Azure 容器應用程式要求 Dapr 功能增強?
您可以透過 Azure 容器應用程式 GitHub 存放庫提交功能要求。 請確認在功能要求標題中包含 「Dapr」。
無 Docker 部署
什麼是無 Docker 部署?
無 Docker 部署可讓您部署應用程式,而不需在程式碼中定義 Dockerfile。 相反地,容器應用程式雲端組建功能會使用 Buildpacks 將本機電腦上的原始程式碼轉換成容器映像。 此選項會使用 Azure Container 應用程式預設登錄。
在無 Docker 應用程式部署期間,隨即出現「ImagePullBackOff on legion」、「Kubernetes 錯誤」或「閘道器錯誤」的訊息,且無法成功部署我的應用程式。
您遇到無 Docker 部署的已知問題。 重試可能會為您解決此問題。 如果您遇到此問題,請開啟 GitHub 問題 ,以便我們的小組進行調查。
部署 .NET 應用程式
如果我的 .NET 應用程式無法調整,該怎麼辦?
您需要為 Azure 容器應用程式上的所有 .NET 應用程式啟用資料保護作業。 如需詳細資訊,請參閱在 Azure 容器應用程式上部署和縮放 ASP.NET Core 應用程式。
部署 JAVA 應用程式
支援哪些 JDK 版本,以及如何設定 JDK 版本?
容器應用程式支援四個 LTS JDK 版本:JDK 8、JDK 11、JDK 17 和 JDK 21。 針對原始程式碼組建,預設版本為 JDK 17。 針對 JAR 檔案組建,這會從 JAR 中的檔案位置 META-INF\MANIFEST.MF 讀取 JDK 版本,但如果指定的版本無法使用,則會使用預設 JDK 第 17 版。
您可以設定 JDK 版本,以透過建置環境變數來覆寫預設版本。
支援哪些 JAVA 組建工具?
Maven
如何從原始程式碼自訂 Java 映像組建?
您可以透過建置環境變數來自訂 Java 映像組建。
如何確保當次組建和無 Docker 組建的映像可在與應用程式相同的區域中使用?
使用 containerapp up
和無 Docker 程式碼基礎映像,請使用 --location
參數以便在非美國東部以外的地點執行應用程式。