Поделиться через


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><элемент>single: только одна редакция может быть активной одновременно. Веса редакции нельзя использовать в этом режиме</item></list>
"Несколько"
"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, будет использоваться завершение модуля podGracePeriodSeconds. В противном случае это значение переопределяет значение, предоставленное спецификацией pod. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Это альфа-поле и требует включения шлюза функций ProbeTerminationGracePeriod. Максимальное значение — 3600 секунд (1 час) int
timeoutSeconds Количество секунд, после которого время ожидания пробы истекает. По умолчанию используется значение 1 секунды. Минимальное значение равно 1. Максимальное значение — 240. int
тип Тип пробы. "Liveness"
"Готовность"
"Startup"

ContainerAppProbeHttpGet

Имя Описание Ценность
хозяин Имя узла для подключения по умолчанию к IP-адресу pod. Возможно, вы хотите задать "Host" в httpHeaders. струна
httpHeaders Пользовательские заголовки, заданные в запросе. HTTP позволяет повторять заголовки. ContainerAppProbeHttpGetHttpHeadersItem[]
путь Путь к доступу на HTTP-сервере. струна
порт Имя или номер порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)
схема Схема, используемая для подключения к узлу. По умолчанию используется протокол HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Имя Описание Ценность
имя Имя поля заголовка строка (обязательно)
ценность Значение поля заголовка строка (обязательно)

ContainerAppProbeTcpSocket

Имя Описание Ценность
хозяин Необязательно. Имя узла для подключения по умолчанию используется для IP-адреса pod. струна
порт Номер или имя порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)

ContainerAppProperties

Имя Описание Ценность
конфигурация Свойства конфигурации приложений контейнеров, отличные от версий. Конфигурация
managedEnvironmentId Идентификатор ресурса среды приложения-контейнера. струна
шаблон Определение приложения с версиями контейнера. Шаблон

ContainerResources

Имя Описание Ценность
ЦПУ Обязательный ЦП в ядрах, например 0,5 int
память Требуемая память, например "250 Мб" струна

CustomDomain

Имя Описание Ценность
bindingType Тип привязки личного домена. "Отключено"
'SniEnabled'
certificateId Идентификатор ресурса сертификата, привязанного к этому имени узла. струна
имя Имя узла. строка (обязательно)

CustomScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания настраиваемого правила масштабирования. CustomScaleRuleMetadata
тип Тип настраиваемого правила масштабирования
например: azure-servicebus, redis и т. д.
струна

CustomScaleRuleMetadata

Имя Описание Ценность

Dapr

Имя Описание Ценность
appId Идентификатор приложения Dapr струна
appPort Сообщает Dapr, какой порт приложения прослушивается int
appProtocol Сообщает Dapr, какой протокол использует приложение. Допустимые параметры: http и grpc. Значение по умолчанию — http 'grpc'
"http"
Включен Логическое значение, указывающее, включен ли боковой автомобиль Dapr bool

EnvironmentVar

Имя Описание Ценность
имя Имя переменной среды. струна
secretRef Имя секрета приложения контейнера, из которого требуется извлечь значение переменной среды. струна
ценность Значение переменной среды, отличной от секрета. струна

HttpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Имя Описание Ценность

Вход

Имя Описание Ценность
allowInsecure Логическое значение, указывающее, разрешено ли http-подключения. Если задано значение false HTTP-подключений, автоматически перенаправляются в подключения HTTPS. bool
customDomains Привязки личного домена для имен узлов контейнерных приложений. CustomDomain[]
внешний Bool, указывающий, предоставляет ли приложение внешнюю конечную точку HTTP bool
targetPort Целевой порт в контейнерах для трафика из входящего трафика int
движение Вес трафика для редакций приложения по весу трафика[]
транспорт Протокол входящего трафика "Auto"
"http"
"http2"

ManagedServiceIdentity

Имя Описание Ценность
тип Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). "Нет"
SystemAssigned
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

Microsoft.App/containerApps

Имя Описание Ценность
тождество управляемые удостоверения для приложения-контейнера для взаимодействия с другими службами Azure без сохранения секретов или учетных данных в коде. ManagedServiceIdentity
местоположение Географическое расположение, в котором находится ресурс строка (обязательно)
имя Имя ресурса строка (обязательно)
свойства Свойства, относящиеся к ресурсу ContainerApp ContainerAppProperties
Теги Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах

QueueScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования очереди. ScaleRuleAuth[]
queueLength Длина очереди. int
queueName Имя очереди. струна

RegistryCredentials

Имя Описание Ценность
passwordSecretRef Имя секрета, содержащего пароль для входа в реестр струна
сервер Сервер реестра контейнеров струна
имя пользователя Имя пользователя реестра контейнеров струна

Шкала

Имя Описание Ценность
maxReplicas Необязательный. Максимальное количество реплик контейнеров. Значение по умолчанию — 10, если не задано. int
minReplicas Необязательный. Минимальное количество реплик контейнеров. int
Правила Правила масштабирования. ScaleRule[]

ScaleRule

Имя Описание Ценность
azureQueue Масштабирование на основе очереди Azure. QueueScaleRule
обычай Пользовательское правило масштабирования. CustomScaleRule
http Масштабирование на основе HTTP-запросов. HttpScaleRule
имя Имя правила масштабирования струна

ScaleRuleAuth

Имя Описание Ценность
secretRef Имя секрета приложения контейнера, из которого необходимо извлечь парам проверки подлинности. струна
triggerParameter Параметр триггера, использующий секрет струна

Секрет

Имя Описание Ценность
имя Имя секрета. струна
ценность Значение секрета. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

Шаблон

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. контейнера[]
редакцияSuffix Понятный суффикс, добавляемый к имени редакции струна
шкала Масштабирование свойств для приложения-контейнера. масштаб
Объемы Список определений томов для приложения-контейнера. тома[]

TrackedResourceTags

Имя Описание Ценность

Вес трафика

Имя Описание Ценность
latestRevision Указывает, что вес трафика принадлежит последней стабильной редакции bool
имя редакции Имя редакции струна
вес Вес трафика, назначенный редакции int

UserAssignedIdentities

Имя Описание Ценность

UserAssignedIdentity

Имя Описание Ценность

Том

Имя Описание Ценность
имя Имя тома. струна
storageName Имя ресурса хранилища. Нет необходимости предоставлять для EmptyDir. струна
storageType Тип хранилища для тома. Если этот параметр не указан, используйте EmptyDir. AzureFile
'EmptyDir'

VolumeMount

Имя Описание Ценность
mountPath Путь в контейнере, в котором должен быть подключен том. Не должно содержать ":". струна
имя тома Это должно соответствовать имени тома. струна

Примеры краткого руководства

Следующие примеры краткого руководства по развертыванию этого типа ресурса.

Bicep-файл Описание
создание приложения контейнера и среды с реестра Создайте среду приложения-контейнера с базовым приложением контейнера из реестра контейнеров Azure. Она также развертывает рабочую область Log Analytics для хранения журналов.
создает приложение-контейнер с определенным правилом масштабирования HTTP Создайте среду приложения-контейнера с базовым приложением-контейнером, которое масштабируется на основе HTTP-трафика.
создает приложение-контейнер в среды приложений контейнеров Создайте среду приложения-контейнера с базовым приложением контейнера. Она также развертывает рабочую область Log Analytics для хранения журналов.
создает приложение микрослужб Dapr с помощью приложений контейнеров Создайте приложение микрослужб Dapr с помощью контейнерных приложений.
Создает приложение dapr pub-sub servicebus с помощью приложений контейнеров Создайте приложение dapr pub-sub servicebus с помощью контейнерных приложений.
создает два приложения контейнера с среды приложений контейнеров Создайте две среды приложения-контейнера с базовым приложением-контейнером. Она также развертывает рабочую область Log Analytics для хранения журналов.
Создание внешней среды приложения-контейнера с помощью виртуальной сети Создает внешнюю среду приложения-контейнера с виртуальной сетью.
Создает внутреннюю среду приложения-контейнера с виртуальной сети Создает внутреннюю среду приложения-контейнера с виртуальной сетью.

Определение ресурса шаблона 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><элемент>single: только одна редакция может быть активной одновременно. Веса редакции нельзя использовать в этом режиме</item></list>
"Несколько"
"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, будет использоваться завершение модуля podGracePeriodSeconds. В противном случае это значение переопределяет значение, предоставленное спецификацией pod. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Это альфа-поле и требует включения шлюза функций ProbeTerminationGracePeriod. Максимальное значение — 3600 секунд (1 час) int
timeoutSeconds Количество секунд, после которого время ожидания пробы истекает. По умолчанию используется значение 1 секунды. Минимальное значение равно 1. Максимальное значение — 240. int
тип Тип пробы. "Liveness"
"Готовность"
"Startup"

ContainerAppProbeHttpGet

Имя Описание Ценность
хозяин Имя узла для подключения по умолчанию к IP-адресу pod. Возможно, вы хотите задать "Host" в httpHeaders. струна
httpHeaders Пользовательские заголовки, заданные в запросе. HTTP позволяет повторять заголовки. ContainerAppProbeHttpGetHttpHeadersItem[]
путь Путь к доступу на HTTP-сервере. струна
порт Имя или номер порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)
схема Схема, используемая для подключения к узлу. По умолчанию используется протокол HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Имя Описание Ценность
имя Имя поля заголовка строка (обязательно)
ценность Значение поля заголовка строка (обязательно)

ContainerAppProbeTcpSocket

Имя Описание Ценность
хозяин Необязательно. Имя узла для подключения по умолчанию используется для IP-адреса pod. струна
порт Номер или имя порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)

ContainerAppProperties

Имя Описание Ценность
конфигурация Свойства конфигурации приложений контейнеров, отличные от версий. Конфигурация
managedEnvironmentId Идентификатор ресурса среды приложения-контейнера. струна
шаблон Определение приложения с версиями контейнера. Шаблон

ContainerResources

Имя Описание Ценность
ЦПУ Обязательный ЦП в ядрах, например 0,5 int
память Требуемая память, например "250 Мб" струна

CustomDomain

Имя Описание Ценность
bindingType Тип привязки личного домена. "Отключено"
'SniEnabled'
certificateId Идентификатор ресурса сертификата, привязанного к этому имени узла. струна
имя Имя узла. строка (обязательно)

CustomScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания настраиваемого правила масштабирования. CustomScaleRuleMetadata
тип Тип настраиваемого правила масштабирования
например: azure-servicebus, redis и т. д.
струна

CustomScaleRuleMetadata

Имя Описание Ценность

Dapr

Имя Описание Ценность
appId Идентификатор приложения Dapr струна
appPort Сообщает Dapr, какой порт приложения прослушивается int
appProtocol Сообщает Dapr, какой протокол использует приложение. Допустимые параметры: http и grpc. Значение по умолчанию — http 'grpc'
"http"
Включен Логическое значение, указывающее, включен ли боковой автомобиль Dapr bool

EnvironmentVar

Имя Описание Ценность
имя Имя переменной среды. струна
secretRef Имя секрета приложения контейнера, из которого требуется извлечь значение переменной среды. струна
ценность Значение переменной среды, отличной от секрета. струна

HttpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Имя Описание Ценность

Вход

Имя Описание Ценность
allowInsecure Логическое значение, указывающее, разрешено ли http-подключения. Если задано значение false HTTP-подключений, автоматически перенаправляются в подключения HTTPS. bool
customDomains Привязки личного домена для имен узлов контейнерных приложений. CustomDomain[]
внешний Bool, указывающий, предоставляет ли приложение внешнюю конечную точку HTTP bool
targetPort Целевой порт в контейнерах для трафика из входящего трафика int
движение Вес трафика для редакций приложения по весу трафика[]
транспорт Протокол входящего трафика "Auto"
"http"
"http2"

ManagedServiceIdentity

Имя Описание Ценность
тип Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). "Нет"
SystemAssigned
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

Microsoft.App/containerApps

Имя Описание Ценность
apiVersion Версия API '2022-01-01-preview'
тождество управляемые удостоверения для приложения-контейнера для взаимодействия с другими службами Azure без сохранения секретов или учетных данных в коде. ManagedServiceIdentity
местоположение Географическое расположение, в котором находится ресурс строка (обязательно)
имя Имя ресурса строка (обязательно)
свойства Свойства, относящиеся к ресурсу ContainerApp ContainerAppProperties
Теги Теги ресурсов Словарь имен и значений тегов. См. теги в шаблонах
тип Тип ресурса "Microsoft.App/containerApps"

QueueScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования очереди. ScaleRuleAuth[]
queueLength Длина очереди. int
queueName Имя очереди. струна

RegistryCredentials

Имя Описание Ценность
passwordSecretRef Имя секрета, содержащего пароль для входа в реестр струна
сервер Сервер реестра контейнеров струна
имя пользователя Имя пользователя реестра контейнеров струна

Шкала

Имя Описание Ценность
maxReplicas Необязательный. Максимальное количество реплик контейнеров. Значение по умолчанию — 10, если не задано. int
minReplicas Необязательный. Минимальное количество реплик контейнеров. int
Правила Правила масштабирования. ScaleRule[]

ScaleRule

Имя Описание Ценность
azureQueue Масштабирование на основе очереди Azure. QueueScaleRule
обычай Пользовательское правило масштабирования. CustomScaleRule
http Масштабирование на основе HTTP-запросов. HttpScaleRule
имя Имя правила масштабирования струна

ScaleRuleAuth

Имя Описание Ценность
secretRef Имя секрета приложения контейнера, из которого необходимо извлечь парам проверки подлинности. струна
triggerParameter Параметр триггера, использующий секрет струна

Секрет

Имя Описание Ценность
имя Имя секрета. струна
ценность Значение секрета. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

Шаблон

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. контейнера[]
редакцияSuffix Понятный суффикс, добавляемый к имени редакции струна
шкала Масштабирование свойств для приложения-контейнера. масштаб
Объемы Список определений томов для приложения-контейнера. тома[]

TrackedResourceTags

Имя Описание Ценность

Вес трафика

Имя Описание Ценность
latestRevision Указывает, что вес трафика принадлежит последней стабильной редакции bool
имя редакции Имя редакции струна
вес Вес трафика, назначенный редакции int

UserAssignedIdentities

Имя Описание Ценность

UserAssignedIdentity

Имя Описание Ценность

Том

Имя Описание Ценность
имя Имя тома. струна
storageName Имя ресурса хранилища. Нет необходимости предоставлять для EmptyDir. струна
storageType Тип хранилища для тома. Если этот параметр не указан, используйте EmptyDir. AzureFile
'EmptyDir'

VolumeMount

Имя Описание Ценность
mountPath Путь в контейнере, в котором должен быть подключен том. Не должно содержать ":". струна
имя тома Это должно соответствовать имени тома. струна

Шаблоны быстрого запуска

Следующие шаблоны быстрого запуска развертывают этот тип ресурса.

Шаблон Описание
создание приложения контейнера и среды с реестра

развертывание в Azure
Создайте среду приложения-контейнера с базовым приложением контейнера из реестра контейнеров Azure. Она также развертывает рабочую область Log Analytics для хранения журналов.
создает приложение-контейнер с определенным правилом масштабирования HTTP

развертывание в Azure
Создайте среду приложения-контейнера с базовым приложением-контейнером, которое масштабируется на основе HTTP-трафика.
создает приложение-контейнер в среды приложений контейнеров

развертывание в Azure
Создайте среду приложения-контейнера с базовым приложением контейнера. Она также развертывает рабочую область Log Analytics для хранения журналов.
создает приложение микрослужб Dapr с помощью приложений контейнеров

развертывание в Azure
Создайте приложение микрослужб Dapr с помощью контейнерных приложений.
Создает приложение dapr pub-sub servicebus с помощью приложений контейнеров

развертывание в Azure
Создайте приложение dapr pub-sub servicebus с помощью контейнерных приложений.
создает два приложения контейнера с среды приложений контейнеров

развертывание в Azure
Создайте две среды приложения-контейнера с базовым приложением-контейнером. Она также развертывает рабочую область Log Analytics для хранения журналов.
Создание внешней среды приложения-контейнера с помощью виртуальной сети

развертывание в Azure
Создает внешнюю среду приложения-контейнера с виртуальной сетью.
Создает внутреннюю среду приложения-контейнера с виртуальной сети

развертывание в Azure
Создает внутреннюю среду приложения-контейнера с виртуальной сетью.

Определение ресурса 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><элемент>single: только одна редакция может быть активной одновременно. Веса редакции нельзя использовать в этом режиме</item></list>
"Несколько"
"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, будет использоваться завершение модуля podGracePeriodSeconds. В противном случае это значение переопределяет значение, предоставленное спецификацией pod. Значение должно быть неотрицательно целым числом. Нулевое значение указывает, что немедленно останавливается через сигнал убийства (нет возможности завершить работу). Это альфа-поле и требует включения шлюза функций ProbeTerminationGracePeriod. Максимальное значение — 3600 секунд (1 час) int
timeoutSeconds Количество секунд, после которого время ожидания пробы истекает. По умолчанию используется значение 1 секунды. Минимальное значение равно 1. Максимальное значение — 240. int
тип Тип пробы. "Liveness"
"Готовность"
"Startup"

ContainerAppProbeHttpGet

Имя Описание Ценность
хозяин Имя узла для подключения по умолчанию к IP-адресу pod. Возможно, вы хотите задать "Host" в httpHeaders. струна
httpHeaders Пользовательские заголовки, заданные в запросе. HTTP позволяет повторять заголовки. ContainerAppProbeHttpGetHttpHeadersItem[]
путь Путь к доступу на HTTP-сервере. струна
порт Имя или номер порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)
схема Схема, используемая для подключения к узлу. По умолчанию используется протокол HTTP. "HTTP"
"HTTPS"

ContainerAppProbeHttpGetHttpHeadersItem

Имя Описание Ценность
имя Имя поля заголовка строка (обязательно)
ценность Значение поля заголовка строка (обязательно)

ContainerAppProbeTcpSocket

Имя Описание Ценность
хозяин Необязательно. Имя узла для подключения по умолчанию используется для IP-адреса pod. струна
порт Номер или имя порта для доступа к контейнеру. Число должно находиться в диапазоне от 1 до 65535. Имя должно быть IANA_SVC_NAME. int (обязательно)

ContainerAppProperties

Имя Описание Ценность
конфигурация Свойства конфигурации приложений контейнеров, отличные от версий. Конфигурация
managedEnvironmentId Идентификатор ресурса среды приложения-контейнера. струна
шаблон Определение приложения с версиями контейнера. Шаблон

ContainerResources

Имя Описание Ценность
ЦПУ Обязательный ЦП в ядрах, например 0,5 int
память Требуемая память, например "250 Мб" струна

CustomDomain

Имя Описание Ценность
bindingType Тип привязки личного домена. "Отключено"
'SniEnabled'
certificateId Идентификатор ресурса сертификата, привязанного к этому имени узла. струна
имя Имя узла. строка (обязательно)

CustomScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания настраиваемого правила масштабирования. CustomScaleRuleMetadata
тип Тип настраиваемого правила масштабирования
например: azure-servicebus, redis и т. д.
струна

CustomScaleRuleMetadata

Имя Описание Ценность

Dapr

Имя Описание Ценность
appId Идентификатор приложения Dapr струна
appPort Сообщает Dapr, какой порт приложения прослушивается int
appProtocol Сообщает Dapr, какой протокол использует приложение. Допустимые параметры: http и grpc. Значение по умолчанию — http 'grpc'
"http"
Включен Логическое значение, указывающее, включен ли боковой автомобиль Dapr bool

EnvironmentVar

Имя Описание Ценность
имя Имя переменной среды. струна
secretRef Имя секрета приложения контейнера, из которого требуется извлечь значение переменной среды. струна
ценность Значение переменной среды, отличной от секрета. струна

HttpScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для настраиваемого правила масштабирования. ScaleRuleAuth[]
метаданные Свойства метаданных для описания правила масштабирования HTTP. HttpScaleRuleMetadata

HttpScaleRuleMetadata

Имя Описание Ценность

Вход

Имя Описание Ценность
allowInsecure Логическое значение, указывающее, разрешено ли http-подключения. Если задано значение false HTTP-подключений, автоматически перенаправляются в подключения HTTPS. bool
customDomains Привязки личного домена для имен узлов контейнерных приложений. CustomDomain[]
внешний Bool, указывающий, предоставляет ли приложение внешнюю конечную точку HTTP bool
targetPort Целевой порт в контейнерах для трафика из входящего трафика int
движение Вес трафика для редакций приложения по весу трафика[]
транспорт Протокол входящего трафика "Auto"
"http"
"http2"

ManagedServiceIdentity

Имя Описание Ценность
тип Тип управляемого удостоверения службы (где разрешены типы SystemAssigned и UserAssigned). "Нет"
SystemAssigned
SystemAssigned, UserAssigned
UserAssigned (обязательно)
userAssignedIdentities Набор назначенных пользователем удостоверений, связанных с ресурсом. Ключи словаря userAssignedIdentities будут идентификаторами ресурсов ARM в форме: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. Значения словаря могут быть пустыми объектами ({}) в запросах. UserAssignedIdentities

Microsoft.App/containerApps

Имя Описание Ценность
тождество управляемые удостоверения для приложения-контейнера для взаимодействия с другими службами Azure без сохранения секретов или учетных данных в коде. ManagedServiceIdentity
местоположение Географическое расположение, в котором находится ресурс строка (обязательно)
имя Имя ресурса строка (обязательно)
свойства Свойства, относящиеся к ресурсу ContainerApp ContainerAppProperties
Теги Теги ресурсов Словарь имен и значений тегов.
тип Тип ресурса "Microsoft.App/containerApps@2022-01-01-preview"

QueueScaleRule

Имя Описание Ценность
auth Секреты проверки подлинности для правила масштабирования очереди. ScaleRuleAuth[]
queueLength Длина очереди. int
queueName Имя очереди. струна

RegistryCredentials

Имя Описание Ценность
passwordSecretRef Имя секрета, содержащего пароль для входа в реестр струна
сервер Сервер реестра контейнеров струна
имя пользователя Имя пользователя реестра контейнеров струна

Шкала

Имя Описание Ценность
maxReplicas Необязательный. Максимальное количество реплик контейнеров. Значение по умолчанию — 10, если не задано. int
minReplicas Необязательный. Минимальное количество реплик контейнеров. int
Правила Правила масштабирования. ScaleRule[]

ScaleRule

Имя Описание Ценность
azureQueue Масштабирование на основе очереди Azure. QueueScaleRule
обычай Пользовательское правило масштабирования. CustomScaleRule
http Масштабирование на основе HTTP-запросов. HttpScaleRule
имя Имя правила масштабирования струна

ScaleRuleAuth

Имя Описание Ценность
secretRef Имя секрета приложения контейнера, из которого необходимо извлечь парам проверки подлинности. струна
triggerParameter Параметр триггера, использующий секрет струна

Секрет

Имя Описание Ценность
имя Имя секрета. струна
ценность Значение секрета. струна

Ограничения целостности:
Конфиденциальное значение. Передайте в качестве безопасного параметра.

Шаблон

Имя Описание Ценность
Контейнеры Список определений контейнеров для приложения-контейнера. контейнера[]
редакцияSuffix Понятный суффикс, добавляемый к имени редакции струна
шкала Масштабирование свойств для приложения-контейнера. масштаб
Объемы Список определений томов для приложения-контейнера. тома[]

TrackedResourceTags

Имя Описание Ценность

Вес трафика

Имя Описание Ценность
latestRevision Указывает, что вес трафика принадлежит последней стабильной редакции bool
имя редакции Имя редакции струна
вес Вес трафика, назначенный редакции int

UserAssignedIdentities

Имя Описание Ценность

UserAssignedIdentity

Имя Описание Ценность

Том

Имя Описание Ценность
имя Имя тома. струна
storageName Имя ресурса хранилища. Нет необходимости предоставлять для EmptyDir. струна
storageType Тип хранилища для тома. Если этот параметр не указан, используйте EmptyDir. AzureFile
'EmptyDir'

VolumeMount

Имя Описание Ценность
mountPath Путь в контейнере, в котором должен быть подключен том. Не должно содержать ":". струна
имя тома Это должно соответствовать имени тома. струна