使用以下步骤,可以轻松地通过 Azure 容器实例在云中缩放 Azure AI 服务应用程序。 容器化可帮助你集中精力构建应用程序,而不是管理基础结构。 有关使用容器的详细信息,请参阅功能和优势。
先决条件
此方案适用于任何 Azure AI 服务容器。 使用此方案之前,必须先创建 Azure AI 服务资源。 支持容器的每个 Azure AI 服务都有一篇“如何安装”文章,其中介绍了如何为容器安装并配置服务。 某些服务需要一个文件或一组文件作为容器的输入。在使用此解决方案之前,请确保了解并已成功使用过容器。
这是一个示例:mcr.microsoft.com/azure-cognitive-services/keyphrase 表示 Azure AI 服务存储库下 Microsoft 容器注册表中的“关键短语提取”映像。 另一示例:containerpreview.azurecr.io/microsoft/cognitive-services-speech-to-text 表示“容器预览版”容器注册表的 Microsoft 存储库中的“语音转文本”映像。
apiVersion: 2018-10-01
location: # < Valid location >
name: # < Container Group name >
properties:
imageRegistryCredentials: # This is only required if you are pulling a non-public image that requires authentication to access. For example Text Analytics for health.
- server: containerpreview.azurecr.io
username: # < The username for the preview container registry >
password: # < The password for the preview container registry >
containers:
- name: # < Container name >
properties:
image: # < Repository/Image name >
environmentVariables: # These env vars are required
- name: eula
value: accept
- name: billing
value: # < Service specific Endpoint URL >
- name: apikey
value: # < Service specific API key >
resources:
requests:
cpu: 4 # Always refer to recommended minimal resources
memoryInGb: 8 # Always refer to recommended minimal resources
ports:
- port: 5000
osType: Linux
volumes: # This node, is only required for container instances that pull their model in at runtime, such as LUIS.
- name: aci-file-share
azureFile:
shareName: # < File share name >
storageAccountName: # < Storage account name>
storageAccountKey: # < Storage account key >
restartPolicy: OnFailure
ipAddress:
type: Public
ports:
- protocol: tcp
port: 5000
tags: null
type: Microsoft.ContainerInstance/containerGroups
注意
并非所有位置都具有相同的 CPU 和内存可用性。 请参阅位置和资源表,以获取每个位置和 OS 的容器的可用资源列表。
我们将依赖于我们为 az container create 命令创建的 YAML 文件。 在 Azure CLI 中执行 az container create 命令,将 <resource-group> 替换为你自己的值。 另外,若要在 YAML 部署中保护值,请参考安全值。
az container create -g <resource-group> -f my-aci.yaml