連線 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 環境中建立名為 myredis
myenv
的新 Redis 服務。
若要將服務系結至應用程式,請使用 --bind
的 containerapp 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 的環境不支援附加元件功能。