Share via


連線 Azure Container Apps 中的服務 (預覽版)

當您在 Azure Container Apps 中開發應用程式時,通常需要連線到不同的服務。 您可以快速建立開發等級服務的實例,而不是事先建立服務,並手動將它們連線到您的容器應用程式,而此實例專為非生產環境所設計,稱為附加元件。

附加元件可讓您使用 OSS 服務,而不需要手動下載、建立和設定。

一旦您準備好讓應用程式使用生產層級服務,您就可以將應用程式連線到 Azure 受控服務。

以附加元件的形式提供的服務包括:

標題 服務名稱
Kafka kafka
MariaDB mariadb
Milvus milvus
PostgreSQL (開放原始碼) postgres
Qdrant qdrant
Redis (開放原始碼) redis
Weaviate weaviate

您可以執行下列命令來取得最新的附加元件服務清單:

az containerapp add-on --help

如需使用指示,請參閱如何 管理服務 一節。

功能

附加元件隨附下列功能:

  • 範圍:附加元件會在與連線容器應用程式相同的環境中執行。
  • 調整:當服務不需要時,附加元件可以相應縮小為零。
  • 定價:附加元件計費低於以使用量為基礎的定價。 只有在附加元件實例正在執行時,才會計費。
  • 儲存體:附加元件會使用永續性記憶體,以確保附加元件不會遺失數據,因為附加元件會調整為零。
  • 修訂:每當您變更附加元件時,就會建立容器應用程式的新修訂。

請參閱受控服務的服務特定功能。

繫結

附加元件和受控服務都會透過系結連線到容器。

Container Apps 執行時間會透過下列方式將容器應用程式系結至服務:

  • 探索服務
  • 擷取網路和聯機組態值
  • 將組態和連線資訊插入容器應用程式環境變數

建立系結之後,容器應用程式就可以從環境變數讀取這些組態和連接值。

開發與生產環境

當您從開發移至生產環境時,可以從附加元件移至受控服務。

下表顯示開發中使用的服務,以及生產環境中要使用的服務。

功能 附加元件 生產受控服務
Cache 開放原始碼 Redis Azure Cache for Redis
Database N/A Azure Cosmos DB
Database 開放原始碼 PostgreSQL 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器

您負責開發與生產環境之間的數據持續性。

管理服務

若要將服務連線到應用程式,您必須先建立服務。

使用 az containerapp add-on <SERVICE_TYPE> create 命令搭配服務類型和名稱來建立新的服務。

az containerapp add-on redis create \
  --name myredis \
  --environment myenv

此命令會在名為 的 Container Apps 環境中建立名為 myredismyenv的新 Redis 服務。

若要將服務系結至應用程式,請使用 --bindcontainerapp create自變數。

az containerapp create \
  --name myapp \
  --image myimage \
  --bind myredis \
  --environment myenv

此命令會使用 --bind 自變數來提供一般容器應用程式create。 bind 自變數會告知 Container Apps 執行時間將服務連線至應用程式。

update 命令可以使用 create--bind變數。

若要中斷服務與應用程式的連線,請在 --unbind 命令上使用 update 自變數

下列範例示範如何解除系結服務。

az containerapp update --name myapp --unbind myredis

如需連線至服務的完整教學課程,請參閱 Azure Container Apps 中的 連線 服務。

如需服務命令和自變數的詳細資訊,請參閱 az containerapp 參考。

限制

  • 附加元件處於公開預覽狀態。
  • 任何在 2023 年 5 月 23 日之前建立的容器應用程式都不符合使用附加元件資格。
  • 附加元件具有最少的保證。 例如,它們會在當機時自動重新啟動,但是沒有與其相關聯的正式服務品質或高可用性保證。 針對生產工作負載,請使用 Azure 受控服務。
  • 如果您使用自己的 VNET,則必須使用工作負載配置文件環境。 僅限使用自定義 VNET 的環境不支援附加元件功能。

下一步