你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Microsoft.App containerApps 2022-01-01-preview
Bicep 资源定义
可以使用目标操作部署 containerApps 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.App/containerApps 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.App/containerApps@2022-01-01-preview' = {
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
configuration: {
activeRevisionsMode: 'string'
dapr: {
appId: 'string'
appPort: int
appProtocol: 'string'
enabled: bool
}
ingress: {
allowInsecure: bool
customDomains: [
{
bindingType: 'string'
certificateId: 'string'
name: 'string'
}
]
external: bool
targetPort: int
traffic: [
{
latestRevision: bool
revisionName: 'string'
weight: int
}
]
transport: 'string'
}
registries: [
{
passwordSecretRef: 'string'
server: 'string'
username: 'string'
}
]
secrets: [
{
name: 'string'
value: 'string'
}
]
}
managedEnvironmentId: 'string'
template: {
containers: [
{
args: [
'string'
]
command: [
'string'
]
env: [
{
name: 'string'
secretRef: 'string'
value: 'string'
}
]
image: 'string'
name: 'string'
probes: [
{
failureThreshold: int
httpGet: {
host: 'string'
httpHeaders: [
{
name: 'string'
value: 'string'
}
]
path: 'string'
port: int
scheme: 'string'
}
initialDelaySeconds: int
periodSeconds: int
successThreshold: int
tcpSocket: {
host: 'string'
port: int
}
terminationGracePeriodSeconds: int
timeoutSeconds: int
type: 'string'
}
]
resources: {
cpu: int
memory: 'string'
}
volumeMounts: [
{
mountPath: 'string'
volumeName: 'string'
}
]
}
]
revisionSuffix: 'string'
scale: {
maxReplicas: int
minReplicas: int
rules: [
{
azureQueue: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
queueLength: int
queueName: 'string'
}
custom: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
type: 'string'
}
http: {
auth: [
{
secretRef: 'string'
triggerParameter: 'string'
}
]
metadata: {
{customized property}: 'string'
}
}
name: 'string'
}
]
}
volumes: [
{
name: 'string'
storageName: 'string'
storageType: 'string'
}
]
}
}
tags: {
{customized property}: 'string'
}
}
属性值
配置
名字 | 描述 | 价值 |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode 控制如何处理容器应用的活动修订: <列表><项>多个:多个修订可以处于活动状态。 如果未提供任何值,则这是默认</item><项>单个:一次只能有一个修订处于活动状态。 无法在此模式下使用此模式的修订权重</item></list> |
“Multiple” “Single” |
dapr | 容器应用的 Dapr 配置。 | Dapr |
入口 | 入口配置。 | 流入量 |
登记处 | 容器应用使用的容器的专用容器注册表凭据的集合 | RegistryCredentials[] |
秘密 | 容器应用使用的机密集合 | 机密[] |
容器
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
探针 | 容器的探测列表。 | ContainerAppProbe[] |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
ContainerAppProbe
名字 | 描述 | 价值 |
---|---|---|
failureThreshold | 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 | int |
httpGet | HTTPGet 指定要执行的 http 请求。 | ContainerAppProbeHttpGet |
initialDelaySeconds | 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 | int |
periodSeconds | 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 | int |
successThreshold | 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 | int |
tcpSocket | TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) | int |
timeoutSeconds | 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 | int |
类型 | 探测的类型。 | “Liveness” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 | 描述 | 价值 |
---|---|---|
主机 | 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 | 字符串 |
httpHeaders | 在请求中设置的自定义标头。 HTTP 允许重复标头。 | ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 | 在 HTTP 服务器上访问的路径。 | 字符串 |
港口 | 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
方案 | 用于连接到主机的方案。 默认为 HTTP。 | “HTTP” “HTTPS” |
ContainerAppProbeHttpGetHttpHeadersItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 标头字段名称 | string (必需) |
价值 | 标头字段值 | string (必需) |
ContainerAppProbeTcpSocket
名字 | 描述 | 价值 |
---|---|---|
主机 | 可选:要连接到的主机名,默认为 Pod IP。 | 字符串 |
港口 | 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
ContainerAppProperties
名字 | 描述 | 价值 |
---|---|---|
配置 | 非版本控制容器应用配置属性。 | 配置 |
managedEnvironmentId | 容器应用环境的资源 ID。 | 字符串 |
模板 | 容器应用版本控制的应用程序定义。 | 模板 |
ContainerResources
名字 | 描述 | 价值 |
---|---|---|
中央处理器 | 核心中所需的 CPU,例如 0.5 | int |
记忆 | 所需的内存,例如“250Mb” | 字符串 |
CustomDomain
名字 | 描述 | 价值 |
---|---|---|
bindingType | 自定义域绑定类型。 | “Disabled” 'SniEnabled' |
certificateId | 要绑定到此主机名的证书的资源 ID。 | 字符串 |
名字 | 主机名。 | string (必需) |
CustomScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 自定义缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 用于描述自定义缩放规则的元数据属性。 | CustomScaleRuleMetadata |
类型 | 自定义缩放规则的类型 例如:azure-servicebus、redis 等。 |
字符串 |
CustomScaleRuleMetadata
名字 | 描述 | 价值 |
---|
Dapr
名字 | 描述 | 价值 |
---|---|---|
appId | Dapr 应用程序标识符 | 字符串 |
appPort | 告知 Dapr 应用程序正在侦听的端口 | int |
appProtocol | 告知 Dapr 应用程序使用的协议。 有效选项为 http 和 grpc。 默认值为 http | “grpc” “http” |
启用 | 指示 Dapr 侧车是否已启用的布尔值 | bool |
EnvironmentVar
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量名称。 | 字符串 |
secretRef | 要从中拉取环境变量值的容器应用机密的名称。 | 字符串 |
价值 | 非机密环境变量值。 | 字符串 |
HttpScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 自定义缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 描述 http 缩放规则的元数据属性。 | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
名字 | 描述 | 价值 |
---|
入口
名字 | 描述 | 价值 |
---|---|---|
allowInsecure | 指示是否允许与 HTTP 连接的布尔值。 如果设置为 false HTTP 连接,则会自动重定向到 HTTPS 连接 | bool |
customDomains | 容器应用的主机名的自定义域绑定。 | CustomDomain[] |
外部 | 指示应用是否公开外部 http 终结点的布尔值 | bool |
targetPort | 用于来自入口的流量的容器中的目标端口 | int |
交通 | 应用修订的流量权重 | TrafficWeight[] |
运输 | 入口传输协议 | “auto” “http” “http2” |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
userAssignedIdentities | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | UserAssignedIdentities |
Microsoft.App/containerApps
名字 | 描述 | 价值 |
---|---|---|
身份 | 容器应用的托管标识可以与其他 Azure 服务交互,而无需在代码中维护任何机密或凭据。 | ManagedServiceIdentity |
位置 | 资源所在的地理位置 | string (必需) |
名字 | 资源名称 | string (必需) |
性能 | ContainerApp 资源特定属性 | ContainerAppProperties |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
QueueScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 队列缩放规则的身份验证机密。 | ScaleRuleAuth[] |
queueLength | 队列长度。 | int |
queueName | 队列名称。 | 字符串 |
RegistryCredentials
名字 | 描述 | 价值 |
---|---|---|
passwordSecretRef | 包含注册表登录密码的机密的名称 | 字符串 |
服务器 | 容器注册表服务器 | 字符串 |
username | 容器注册表用户名 | 字符串 |
规模
名字 | 描述 | 价值 |
---|---|---|
maxReplicas | 自选。 容器副本的最大数目。 如果未设置,则默认为 10。 | int |
minReplicas | 自选。 容器副本的最小数量。 | int |
规则 | 缩放规则。 | ScaleRule[] |
ScaleRule
名字 | 描述 | 价值 |
---|---|---|
azureQueue | 基于 Azure 队列的缩放。 | QueueScaleRule |
习惯 | 自定义缩放规则。 | CustomScaleRule |
http | 基于 HTTP 请求的缩放。 | HttpScaleRule |
名字 | 缩放规则名称 | 字符串 |
ScaleRuleAuth
名字 | 描述 | 价值 |
---|---|---|
secretRef | 要从中提取身份验证参数的容器应用机密的名称。 | 字符串 |
triggerParameter | 使用机密的触发器参数 | 字符串 |
秘密
名字 | 描述 | 价值 |
---|---|---|
名字 | 机密名称。 | 字符串 |
价值 | 机密值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
模板
名字 | 描述 | 价值 |
---|---|---|
器皿 | 容器应用的容器定义列表。 | 容器[] |
revisionSuffix | 追加到修订名称的用户友好后缀 | 字符串 |
规模 | 缩放容器应用的属性。 | 缩放 |
卷 | 容器应用的卷定义列表。 | 卷[] |
TrackedResourceTags
名字 | 描述 | 价值 |
---|
TrafficWeight
名字 | 描述 | 价值 |
---|---|---|
latestRevision | 指示流量权重属于最新的稳定修订 | bool |
revisionName | 修订的名称 | 字符串 |
重量 | 分配给修订的流量权重 | int |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|
UserAssignedIdentity
名字 | 描述 | 价值 |
---|
卷
名字 | 描述 | 价值 |
---|---|---|
名字 | 卷名称。 | 字符串 |
storageName | 存储资源的名称。 无需为 EmptyDir 提供。 | 字符串 |
storageType | 卷的存储类型。 如果未提供,请使用 EmptyDir。 | “AzureFile” “EmptyDir” |
VolumeMount
名字 | 描述 | 价值 |
---|---|---|
mountPath | 容器中应装载卷的路径。不得包含“:”。 | 字符串 |
volumeName | 这必须与卷的名称匹配。 | 字符串 |
快速入门示例
以下快速入门示例部署此资源类型。
Bicep 文件 | 描述 |
---|---|
使用注册表 创建容器应用和环境 | 使用 Azure 容器注册表中的基本容器应用创建容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用定义的 HTTP 缩放规则创建容器应用 | 使用基于 HTTP 流量缩放的基本容器应用创建容器应用环境。 |
在容器应用环境中创建容器应用 | 使用基本容器应用创建容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用容器应用创建 Dapr 微服务应用 | 使用容器应用创建 Dapr 微服务应用。 |
使用容器应用创建 Dapr pub-sub servicebus 应用 | 使用容器应用创建 Dapr pub-sub servicebus 应用。 |
使用容器应用环境创建两个容器应用 | 使用基本容器应用创建两个容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用 VNET 创建外部容器应用环境 | 使用 VNET 创建外部容器应用环境。 |
使用 VNET 创建内部容器应用环境 | 使用 VNET 创建内部容器应用环境。 |
ARM 模板资源定义
可以使用目标操作部署 containerApps 资源类型:
- 资源组 - 请参阅 资源组部署命令
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.App/containerApps 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2022-01-01-preview",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"configuration": {
"activeRevisionsMode": "string",
"dapr": {
"appId": "string",
"appPort": "int",
"appProtocol": "string",
"enabled": "bool"
},
"ingress": {
"allowInsecure": "bool",
"customDomains": [
{
"bindingType": "string",
"certificateId": "string",
"name": "string"
}
],
"external": "bool",
"targetPort": "int",
"traffic": [
{
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"registries": [
{
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"secrets": [
{
"name": "string",
"value": "string"
}
]
},
"managedEnvironmentId": "string",
"template": {
"containers": [
{
"args": [ "string" ],
"command": [ "string" ],
"env": [
{
"name": "string",
"secretRef": "string",
"value": "string"
}
],
"image": "string",
"name": "string",
"probes": [
{
"failureThreshold": "int",
"httpGet": {
"host": "string",
"httpHeaders": [
{
"name": "string",
"value": "string"
}
],
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"tcpSocket": {
"host": "string",
"port": "int"
},
"terminationGracePeriodSeconds": "int",
"timeoutSeconds": "int",
"type": "string"
}
],
"resources": {
"cpu": "int",
"memory": "string"
},
"volumeMounts": [
{
"mountPath": "string",
"volumeName": "string"
}
]
}
],
"revisionSuffix": "string",
"scale": {
"maxReplicas": "int",
"minReplicas": "int",
"rules": [
{
"azureQueue": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"queueLength": "int",
"queueName": "string"
},
"custom": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
},
"type": "string"
},
"http": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
}
},
"name": "string"
}
]
},
"volumes": [
{
"name": "string",
"storageName": "string",
"storageType": "string"
}
]
}
},
"tags": {
"{customized property}": "string"
}
}
属性值
配置
名字 | 描述 | 价值 |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode 控制如何处理容器应用的活动修订: <列表><项>多个:多个修订可以处于活动状态。 如果未提供任何值,则这是默认</item><项>单个:一次只能有一个修订处于活动状态。 无法在此模式下使用此模式的修订权重</item></list> |
“Multiple” “Single” |
dapr | 容器应用的 Dapr 配置。 | Dapr |
入口 | 入口配置。 | 流入量 |
登记处 | 容器应用使用的容器的专用容器注册表凭据的集合 | RegistryCredentials[] |
秘密 | 容器应用使用的机密集合 | 机密[] |
容器
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
探针 | 容器的探测列表。 | ContainerAppProbe[] |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
ContainerAppProbe
名字 | 描述 | 价值 |
---|---|---|
failureThreshold | 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 | int |
httpGet | HTTPGet 指定要执行的 http 请求。 | ContainerAppProbeHttpGet |
initialDelaySeconds | 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 | int |
periodSeconds | 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 | int |
successThreshold | 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 | int |
tcpSocket | TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) | int |
timeoutSeconds | 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 | int |
类型 | 探测的类型。 | “Liveness” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 | 描述 | 价值 |
---|---|---|
主机 | 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 | 字符串 |
httpHeaders | 在请求中设置的自定义标头。 HTTP 允许重复标头。 | ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 | 在 HTTP 服务器上访问的路径。 | 字符串 |
港口 | 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
方案 | 用于连接到主机的方案。 默认为 HTTP。 | “HTTP” “HTTPS” |
ContainerAppProbeHttpGetHttpHeadersItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 标头字段名称 | string (必需) |
价值 | 标头字段值 | string (必需) |
ContainerAppProbeTcpSocket
名字 | 描述 | 价值 |
---|---|---|
主机 | 可选:要连接到的主机名,默认为 Pod IP。 | 字符串 |
港口 | 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
ContainerAppProperties
名字 | 描述 | 价值 |
---|---|---|
配置 | 非版本控制容器应用配置属性。 | 配置 |
managedEnvironmentId | 容器应用环境的资源 ID。 | 字符串 |
模板 | 容器应用版本控制的应用程序定义。 | 模板 |
ContainerResources
名字 | 描述 | 价值 |
---|---|---|
中央处理器 | 核心中所需的 CPU,例如 0.5 | int |
记忆 | 所需的内存,例如“250Mb” | 字符串 |
CustomDomain
名字 | 描述 | 价值 |
---|---|---|
bindingType | 自定义域绑定类型。 | “Disabled” 'SniEnabled' |
certificateId | 要绑定到此主机名的证书的资源 ID。 | 字符串 |
名字 | 主机名。 | string (必需) |
CustomScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 自定义缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 用于描述自定义缩放规则的元数据属性。 | CustomScaleRuleMetadata |
类型 | 自定义缩放规则的类型 例如:azure-servicebus、redis 等。 |
字符串 |
CustomScaleRuleMetadata
名字 | 描述 | 价值 |
---|
Dapr
名字 | 描述 | 价值 |
---|---|---|
appId | Dapr 应用程序标识符 | 字符串 |
appPort | 告知 Dapr 应用程序正在侦听的端口 | int |
appProtocol | 告知 Dapr 应用程序使用的协议。 有效选项为 http 和 grpc。 默认值为 http | “grpc” “http” |
启用 | 指示 Dapr 侧车是否已启用的布尔值 | bool |
EnvironmentVar
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量名称。 | 字符串 |
secretRef | 要从中拉取环境变量值的容器应用机密的名称。 | 字符串 |
价值 | 非机密环境变量值。 | 字符串 |
HttpScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 自定义缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 描述 http 缩放规则的元数据属性。 | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
名字 | 描述 | 价值 |
---|
入口
名字 | 描述 | 价值 |
---|---|---|
allowInsecure | 指示是否允许与 HTTP 连接的布尔值。 如果设置为 false HTTP 连接,则会自动重定向到 HTTPS 连接 | bool |
customDomains | 容器应用的主机名的自定义域绑定。 | CustomDomain[] |
外部 | 指示应用是否公开外部 http 终结点的布尔值 | bool |
targetPort | 用于来自入口的流量的容器中的目标端口 | int |
交通 | 应用修订的流量权重 | TrafficWeight[] |
运输 | 入口传输协议 | “auto” “http” “http2” |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
userAssignedIdentities | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | UserAssignedIdentities |
Microsoft.App/containerApps
名字 | 描述 | 价值 |
---|---|---|
apiVersion | API 版本 | '2022-01-01-preview' |
身份 | 容器应用的托管标识可以与其他 Azure 服务交互,而无需在代码中维护任何机密或凭据。 | ManagedServiceIdentity |
位置 | 资源所在的地理位置 | string (必需) |
名字 | 资源名称 | string (必需) |
性能 | ContainerApp 资源特定属性 | ContainerAppProperties |
标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
类型 | 资源类型 | “Microsoft.App/containerApps” |
QueueScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 队列缩放规则的身份验证机密。 | ScaleRuleAuth[] |
queueLength | 队列长度。 | int |
queueName | 队列名称。 | 字符串 |
RegistryCredentials
名字 | 描述 | 价值 |
---|---|---|
passwordSecretRef | 包含注册表登录密码的机密的名称 | 字符串 |
服务器 | 容器注册表服务器 | 字符串 |
username | 容器注册表用户名 | 字符串 |
规模
名字 | 描述 | 价值 |
---|---|---|
maxReplicas | 自选。 容器副本的最大数目。 如果未设置,则默认为 10。 | int |
minReplicas | 自选。 容器副本的最小数量。 | int |
规则 | 缩放规则。 | ScaleRule[] |
ScaleRule
名字 | 描述 | 价值 |
---|---|---|
azureQueue | 基于 Azure 队列的缩放。 | QueueScaleRule |
习惯 | 自定义缩放规则。 | CustomScaleRule |
http | 基于 HTTP 请求的缩放。 | HttpScaleRule |
名字 | 缩放规则名称 | 字符串 |
ScaleRuleAuth
名字 | 描述 | 价值 |
---|---|---|
secretRef | 要从中提取身份验证参数的容器应用机密的名称。 | 字符串 |
triggerParameter | 使用机密的触发器参数 | 字符串 |
秘密
名字 | 描述 | 价值 |
---|---|---|
名字 | 机密名称。 | 字符串 |
价值 | 机密值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
模板
名字 | 描述 | 价值 |
---|---|---|
器皿 | 容器应用的容器定义列表。 | 容器[] |
revisionSuffix | 追加到修订名称的用户友好后缀 | 字符串 |
规模 | 缩放容器应用的属性。 | 缩放 |
卷 | 容器应用的卷定义列表。 | 卷[] |
TrackedResourceTags
名字 | 描述 | 价值 |
---|
TrafficWeight
名字 | 描述 | 价值 |
---|---|---|
latestRevision | 指示流量权重属于最新的稳定修订 | bool |
revisionName | 修订的名称 | 字符串 |
重量 | 分配给修订的流量权重 | int |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|
UserAssignedIdentity
名字 | 描述 | 价值 |
---|
卷
名字 | 描述 | 价值 |
---|---|---|
名字 | 卷名称。 | 字符串 |
storageName | 存储资源的名称。 无需为 EmptyDir 提供。 | 字符串 |
storageType | 卷的存储类型。 如果未提供,请使用 EmptyDir。 | “AzureFile” “EmptyDir” |
VolumeMount
名字 | 描述 | 价值 |
---|---|---|
mountPath | 容器中应装载卷的路径。不得包含“:”。 | 字符串 |
volumeName | 这必须与卷的名称匹配。 | 字符串 |
快速入门模板
以下快速入门模板部署此资源类型。
模板 | 描述 |
---|---|
使用注册表 创建容器应用和环境 |
使用 Azure 容器注册表中的基本容器应用创建容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用定义的 HTTP 缩放规则创建容器应用 |
使用基于 HTTP 流量缩放的基本容器应用创建容器应用环境。 |
在容器应用环境中创建容器应用 |
使用基本容器应用创建容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用容器应用创建 Dapr 微服务应用 |
使用容器应用创建 Dapr 微服务应用。 |
使用容器应用创建 Dapr pub-sub servicebus 应用 |
使用容器应用创建 Dapr pub-sub servicebus 应用。 |
使用容器应用环境创建两个容器应用 |
使用基本容器应用创建两个容器应用环境。 它还部署 Log Analytics 工作区来存储日志。 |
使用 VNET 创建外部容器应用环境 |
使用 VNET 创建外部容器应用环境。 |
使用 VNET 创建内部容器应用环境 |
使用 VNET 创建内部容器应用环境。 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 containerApps 资源类型:
- 资源组
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.App/containerApps 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2022-01-01-preview"
name = "string"
identity = {
type = "string"
userAssignedIdentities = {
{customized property} = {
}
}
}
location = "string"
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
configuration = {
activeRevisionsMode = "string"
dapr = {
appId = "string"
appPort = int
appProtocol = "string"
enabled = bool
}
ingress = {
allowInsecure = bool
customDomains = [
{
bindingType = "string"
certificateId = "string"
name = "string"
}
]
external = bool
targetPort = int
traffic = [
{
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
registries = [
{
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
secrets = [
{
name = "string"
value = "string"
}
]
}
managedEnvironmentId = "string"
template = {
containers = [
{
args = [
"string"
]
command = [
"string"
]
env = [
{
name = "string"
secretRef = "string"
value = "string"
}
]
image = "string"
name = "string"
probes = [
{
failureThreshold = int
httpGet = {
host = "string"
httpHeaders = [
{
name = "string"
value = "string"
}
]
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
tcpSocket = {
host = "string"
port = int
}
terminationGracePeriodSeconds = int
timeoutSeconds = int
type = "string"
}
]
resources = {
cpu = int
memory = "string"
}
volumeMounts = [
{
mountPath = "string"
volumeName = "string"
}
]
}
]
revisionSuffix = "string"
scale = {
maxReplicas = int
minReplicas = int
rules = [
{
azureQueue = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
queueLength = int
queueName = "string"
}
custom = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
type = "string"
}
http = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
}
name = "string"
}
]
}
volumes = [
{
name = "string"
storageName = "string"
storageType = "string"
}
]
}
}
})
}
属性值
配置
名字 | 描述 | 价值 |
---|---|---|
activeRevisionsMode | ActiveRevisionsMode 控制如何处理容器应用的活动修订: <列表><项>多个:多个修订可以处于活动状态。 如果未提供任何值,则这是默认</item><项>单个:一次只能有一个修订处于活动状态。 无法在此模式下使用此模式的修订权重</item></list> |
“Multiple” “Single” |
dapr | 容器应用的 Dapr 配置。 | Dapr |
入口 | 入口配置。 | 流入量 |
登记处 | 容器应用使用的容器的专用容器注册表凭据的集合 | RegistryCredentials[] |
秘密 | 容器应用使用的机密集合 | 机密[] |
容器
名字 | 描述 | 价值 |
---|---|---|
args | 容器启动命令参数。 | string[] |
命令 | 容器启动命令。 | string[] |
env | 容器环境变量。 | EnvironmentVar[] |
图像 | 容器映像标记。 | 字符串 |
名字 | 自定义容器名称。 | 字符串 |
探针 | 容器的探测列表。 | ContainerAppProbe[] |
资源 | 容器资源要求。 | ContainerResources |
volumeMounts | 容器卷装载。 | VolumeMount[] |
ContainerAppProbe
名字 | 描述 | 价值 |
---|---|---|
failureThreshold | 探测在成功后被视为失败的最小连续失败。 默认值为 3。 最小值为 1。 最大值为 10。 | int |
httpGet | HTTPGet 指定要执行的 http 请求。 | ContainerAppProbeHttpGet |
initialDelaySeconds | 启动生存情况探测之前容器启动后的秒数。 最小值为 1。 最大值为 60。 | int |
periodSeconds | 执行探测的频率(以秒为单位)。 默认值为 10 秒。 最小值为 1。 最大值为 240。 | int |
successThreshold | 探测在失败后被视为成功的最小连续成功次数。 默认值为 1。 对于实时性和启动,必须为 1。 最小值为 1。 最大值为 10。 | int |
tcpSocket | TCPSocket 指定涉及 TCP 端口的操作。 尚不支持 TCP 挂钩。 | ContainerAppProbeTcpSocket |
terminationGracePeriodSeconds | Pod 在探测失败时需要正常终止的可选持续时间(以秒为单位)。 宽限期是 Pod 中运行的进程发送终止信号以及进程强行停止并带有终止信号的时间(以秒为单位)。 设置此值的时间超过进程的预期清理时间。 如果此值为 nil,将使用 Pod 的 terminationGracePeriodSeconds。 否则,此值将替代 Pod 规范提供的值。值必须是非负整数。 值零表示通过终止信号立即停止(没有关闭机会)。 这是 alpha 字段,需要启用 ProbeTerminationGracePeriod 功能门。 最大值为 3600 秒(1 小时) | int |
timeoutSeconds | 探测超时的秒数。默认值为 1 秒。 最小值为 1。 最大值为 240。 | int |
类型 | 探测的类型。 | “Liveness” “就绪情况” “Startup” |
ContainerAppProbeHttpGet
名字 | 描述 | 价值 |
---|---|---|
主机 | 要连接的主机名,默认为 Pod IP。 你可能想要改为在 httpHeaders 中设置“主机”。 | 字符串 |
httpHeaders | 在请求中设置的自定义标头。 HTTP 允许重复标头。 | ContainerAppProbeHttpGetHttpHeadersItem[] |
路径 | 在 HTTP 服务器上访问的路径。 | 字符串 |
港口 | 要在容器上访问的端口的名称或编号。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
方案 | 用于连接到主机的方案。 默认为 HTTP。 | “HTTP” “HTTPS” |
ContainerAppProbeHttpGetHttpHeadersItem
名字 | 描述 | 价值 |
---|---|---|
名字 | 标头字段名称 | string (必需) |
价值 | 标头字段值 | string (必需) |
ContainerAppProbeTcpSocket
名字 | 描述 | 价值 |
---|---|---|
主机 | 可选:要连接到的主机名,默认为 Pod IP。 | 字符串 |
港口 | 要在容器上访问的端口的编号或名称。 数字必须介于 1 到 65535 的范围内。 名称必须是IANA_SVC_NAME。 | int (必需) |
ContainerAppProperties
名字 | 描述 | 价值 |
---|---|---|
配置 | 非版本控制容器应用配置属性。 | 配置 |
managedEnvironmentId | 容器应用环境的资源 ID。 | 字符串 |
模板 | 容器应用版本控制的应用程序定义。 | 模板 |
ContainerResources
名字 | 描述 | 价值 |
---|---|---|
中央处理器 | 核心中所需的 CPU,例如 0.5 | int |
记忆 | 所需的内存,例如“250Mb” | 字符串 |
CustomDomain
名字 | 描述 | 价值 |
---|---|---|
bindingType | 自定义域绑定类型。 | “Disabled” 'SniEnabled' |
certificateId | 要绑定到此主机名的证书的资源 ID。 | 字符串 |
名字 | 主机名。 | string (必需) |
CustomScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 自定义缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 用于描述自定义缩放规则的元数据属性。 | CustomScaleRuleMetadata |
类型 | 自定义缩放规则的类型 例如:azure-servicebus、redis 等。 |
字符串 |
CustomScaleRuleMetadata
名字 | 描述 | 价值 |
---|
Dapr
名字 | 描述 | 价值 |
---|---|---|
appId | Dapr 应用程序标识符 | 字符串 |
appPort | 告知 Dapr 应用程序正在侦听的端口 | int |
appProtocol | 告知 Dapr 应用程序使用的协议。 有效选项为 http 和 grpc。 默认值为 http | “grpc” “http” |
启用 | 指示 Dapr 侧车是否已启用的布尔值 | bool |
EnvironmentVar
名字 | 描述 | 价值 |
---|---|---|
名字 | 环境变量名称。 | 字符串 |
secretRef | 要从中拉取环境变量值的容器应用机密的名称。 | 字符串 |
价值 | 非机密环境变量值。 | 字符串 |
HttpScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 自定义缩放规则的身份验证机密。 | ScaleRuleAuth[] |
元数据 | 描述 http 缩放规则的元数据属性。 | HttpScaleRuleMetadata |
HttpScaleRuleMetadata
名字 | 描述 | 价值 |
---|
入口
名字 | 描述 | 价值 |
---|---|---|
allowInsecure | 指示是否允许与 HTTP 连接的布尔值。 如果设置为 false HTTP 连接,则会自动重定向到 HTTPS 连接 | bool |
customDomains | 容器应用的主机名的自定义域绑定。 | CustomDomain[] |
外部 | 指示应用是否公开外部 http 终结点的布尔值 | bool |
targetPort | 用于来自入口的流量的容器中的目标端口 | int |
交通 | 应用修订的流量权重 | TrafficWeight[] |
运输 | 入口传输协议 | “auto” “http” “http2” |
ManagedServiceIdentity
名字 | 描述 | 价值 |
---|---|---|
类型 | 托管服务标识的类型(其中允许 SystemAssigned 和 UserAssigned 类型)。 | “None” “SystemAssigned” “SystemAssigned,UserAssigned” “UserAssigned”(必需) |
userAssignedIdentities | 与资源关联的用户分配标识集。 userAssignedIdentities 字典密钥将为 ARM 资源 ID,格式为“/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}”。 字典值可以是请求中的空对象({})。 | UserAssignedIdentities |
Microsoft.App/containerApps
名字 | 描述 | 价值 |
---|---|---|
身份 | 容器应用的托管标识可以与其他 Azure 服务交互,而无需在代码中维护任何机密或凭据。 | ManagedServiceIdentity |
位置 | 资源所在的地理位置 | string (必需) |
名字 | 资源名称 | string (必需) |
性能 | ContainerApp 资源特定属性 | ContainerAppProperties |
标签 | 资源标记 | 标记名称和值的字典。 |
类型 | 资源类型 | “Microsoft.App/containerApps@2022-01-01-preview” |
QueueScaleRule
名字 | 描述 | 价值 |
---|---|---|
认证 | 队列缩放规则的身份验证机密。 | ScaleRuleAuth[] |
queueLength | 队列长度。 | int |
queueName | 队列名称。 | 字符串 |
RegistryCredentials
名字 | 描述 | 价值 |
---|---|---|
passwordSecretRef | 包含注册表登录密码的机密的名称 | 字符串 |
服务器 | 容器注册表服务器 | 字符串 |
username | 容器注册表用户名 | 字符串 |
规模
名字 | 描述 | 价值 |
---|---|---|
maxReplicas | 自选。 容器副本的最大数目。 如果未设置,则默认为 10。 | int |
minReplicas | 自选。 容器副本的最小数量。 | int |
规则 | 缩放规则。 | ScaleRule[] |
ScaleRule
名字 | 描述 | 价值 |
---|---|---|
azureQueue | 基于 Azure 队列的缩放。 | QueueScaleRule |
习惯 | 自定义缩放规则。 | CustomScaleRule |
http | 基于 HTTP 请求的缩放。 | HttpScaleRule |
名字 | 缩放规则名称 | 字符串 |
ScaleRuleAuth
名字 | 描述 | 价值 |
---|---|---|
secretRef | 要从中提取身份验证参数的容器应用机密的名称。 | 字符串 |
triggerParameter | 使用机密的触发器参数 | 字符串 |
秘密
名字 | 描述 | 价值 |
---|---|---|
名字 | 机密名称。 | 字符串 |
价值 | 机密值。 | 字符串 约束: 敏感值。 以安全参数的形式传入。 |
模板
名字 | 描述 | 价值 |
---|---|---|
器皿 | 容器应用的容器定义列表。 | 容器[] |
revisionSuffix | 追加到修订名称的用户友好后缀 | 字符串 |
规模 | 缩放容器应用的属性。 | 缩放 |
卷 | 容器应用的卷定义列表。 | 卷[] |
TrackedResourceTags
名字 | 描述 | 价值 |
---|
TrafficWeight
名字 | 描述 | 价值 |
---|---|---|
latestRevision | 指示流量权重属于最新的稳定修订 | bool |
revisionName | 修订的名称 | 字符串 |
重量 | 分配给修订的流量权重 | int |
UserAssignedIdentities
名字 | 描述 | 价值 |
---|
UserAssignedIdentity
名字 | 描述 | 价值 |
---|
卷
名字 | 描述 | 价值 |
---|---|---|
名字 | 卷名称。 | 字符串 |
storageName | 存储资源的名称。 无需为 EmptyDir 提供。 | 字符串 |
storageType | 卷的存储类型。 如果未提供,请使用 EmptyDir。 | “AzureFile” “EmptyDir” |
VolumeMount
名字 | 描述 | 价值 |
---|---|---|
mountPath | 容器中应装载卷的路径。不得包含“:”。 | 字符串 |
volumeName | 这必须与卷的名称匹配。 | 字符串 |