Compartilhar via


Microsoft.AppPlatform Spring/apps/deployments 2022-12-01

Definição de recurso do Bicep

O tipo de recurso Spring/apps/deployments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o Bicep a seguir ao seu modelo.

resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2022-12-01' = {
  name: 'string'
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  parent: resourceSymbolicName
  properties: {
    active: bool
    deploymentSettings: {
      addonConfigs: {
        {customized property}: any()
      }
      containerProbeSettings: {
        disableProbe: bool
      }
      environmentVariables: {
        {customized property}: 'string'
      }
      livenessProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      readinessProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      resourceRequests: {
        cpu: 'string'
        memory: 'string'
      }
      startupProbe: {
        disableProbe: bool
        failureThreshold: int
        initialDelaySeconds: int
        periodSeconds: int
        probeAction: {
          type: 'string'
          // For remaining properties, see ProbeAction objects
        }
        successThreshold: int
        timeoutSeconds: int
      }
      terminationGracePeriodSeconds: int
    }
    source: {
      version: 'string'
      type: 'string'
      // For remaining properties, see UserSourceInfo objects
    }
  }
}

Objetos ProbeAction

Defina a propriedade tipo para especificar o tipo de objeto.

Para ExecAction, use:

  type: 'ExecAction'
  command: [
    'string'
  ]

Para HTTPGetAction, use:

  type: 'HTTPGetAction'
  path: 'string'
  scheme: 'string'

Para TCPSocketAction, use:

  type: 'TCPSocketAction'

Objetos UserSourceInfo

Defina a propriedade tipo para especificar o tipo de objeto.

Para BuildResult, use:

  type: 'BuildResult'
  buildResultId: 'string'

Para de Contêiner, use:

  type: 'Container'
  customContainer: {
    args: [
      'string'
    ]
    command: [
      'string'
    ]
    containerImage: 'string'
    imageRegistryCredential: {
      password: 'string'
      username: 'string'
    }
    languageFramework: 'string'
    server: 'string'
  }

Para Jar, use:

  type: 'Jar'
  jvmOptions: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

Para NetCoreZip, use:

  type: 'NetCoreZip'
  netCoreMainEntryPath: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

Para de origem, use:

  type: 'Source'
  artifactSelector: 'string'
  relativePath: 'string'
  runtimeVersion: 'string'

Valores de propriedade

Spring/apps/deployments

Nome Descrição Valor
nome O nome do recurso

Veja como definir nomes e tipos para recursos filho no Bicep.
cadeia de caracteres (obrigatório)
Sku Sku do recurso de implantação de SKU
pai No Bicep, você pode especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai.

Para obter mais informações, consulte recurso filho fora do recurso pai.
Nome simbólico do recurso do tipo: aplicativos
Propriedades Propriedades do recurso de implantação deploymentResourceProperties

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
deploymentSettings Configurações de implantação da Implantação DeploymentSettings
fonte Informações de origem carregadas da implantação. UserSourceInfo

DeploymentSettings

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
environmentVariables Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Investigação periódica da atividade da Instância de Aplicativo. A Instância do Aplicativo será reiniciada se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
readinessProbe Investigação periódica da preparação do serviço da Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade de serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
resourceRequests A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startupProbe StartupProbe indica que a Instância de Aplicativo foi inicializada com êxito. Se especificado, nenhuma outra investigação será executada até que isso seja concluído com êxito. Se essa investigação falhar, o Pod será reiniciado, assim como se o livenessProbe tivesse falhado. Isso pode ser usado para fornecer diferentes parâmetros de investigação no início do ciclo de vida de uma Instância de Aplicativo, quando pode levar muito tempo para carregar dados ou aquecer um cache do que durante a operação de estado estável. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
terminationGracePeriodSeconds Duração opcional em segundos que a Instância de Aplicativo precisa terminar normalmente. Pode ser reduzido na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Se esse valor for nulo, o período de carência padrão será usado. O período de carência é a duração em segundos após os processos em execução na Instância de Aplicativo serem enviados um sinal de encerramento e a hora em que os processos são interrompidos à força com um sinal de encerramento. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Nome Descrição Valor
{propriedade personalizada} Para o Bicep, você pode usar a função any().

ContainerProbeSettings

Nome Descrição Valor
disableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor
{propriedade personalizada} corda

Sondar

Nome Descrição Valor
disableProbe Indique se a investigação está desabilitada. bool (obrigatório)
failureThreshold Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O valor mínimo é 1. int
initialDelaySeconds Número de segundos após o início da Instância de Aplicativo antes de as investigações serem iniciadas. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Com que frequência (em segundos) executar a investigação. O valor mínimo é 1. int
probeAction A ação da investigação. ProbeAction
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. Deve ser 1 para animação e inicialização. O valor mínimo é 1. int
timeoutSeconds Número de segundos após o qual a investigação atinge o tempo limite. O valor mínimo é 1. int

ProbeAction

Nome Descrição Valor
tipo Definir o tipo de objeto ExecAction
HTTPGetAction
TCPSocketAction (obrigatório)

ExecAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'ExecAction' (obrigatório)
comando O comando é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho do comando é raiz ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, portanto, as instruções de shell tradicionais (',', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente esse shell. O status de saída de 0 é tratado como ativo/íntegro e não zero não está íntegro. string[]

HttpGetAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'HTTPGetAction' (obrigatório)
caminho Caminho para acesso no servidor HTTP. corda
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP.

Valores de enumeração possíveis:
- "HTTP" significa que o esquema usado será http://
- "HTTPS" significa que o esquema usado será https://
'HTTP'
'HTTPS'

TCPSocketAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'TCPSocketAction' (obrigatório)

ResourceRequests

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. corda
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. corda

UserSourceInfo

Nome Descrição Valor
Versão Versão da origem corda
tipo Definir o tipo de objeto buildResult
de contêiner
Jar
NetCoreZip
de origem (obrigatório)

BuildResultUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'BuildResult' (obrigatório)
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. corda

CustomContainerUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'Contêiner' (obrigatório)
customContainer Conteúdo do contêiner personalizado CustomContainer

CustomContainer

Nome Descrição Valor
args Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. string[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. string[]
containerImage Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de {repositório}:{tag} sem o nome do servidor do registro corda
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada corda
servidor O nome do registro que contém a imagem do contêiner corda

ImageRegistryCredential

Nome Descrição Valor
senha A senha da credencial do registro de imagem corda
nome de usuário O nome de usuário da credencial do registro de imagem corda

JarUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'Jar' (obrigatório)
jvmOptions Parâmetro JVM corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo Jar corda

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'NetCoreZip' (obrigatório)
netCoreMainEntryPath O caminho para o executável do .NET em relação à raiz zip corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo .Net corda

SourceUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'Origem' (obrigatório)
artifactSelector Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo de origem corda

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku corda
camada Camada do Sku corda

Modelos de início rápido

Os modelos de início rápido a seguir implantam esse tipo de recurso.

Modelo Descrição
implantar um aplicativo simples de microsserviço do Azure Spring Apps

Implantar no Azure
Este modelo implanta um aplicativo simples de microsserviço do Azure Spring Apps para ser executado no Azure.

Definição de recurso de modelo do ARM

O tipo de recurso Spring/apps/deployments pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o JSON a seguir ao seu modelo.

{
  "type": "Microsoft.AppPlatform/Spring/apps/deployments",
  "apiVersion": "2022-12-01",
  "name": "string",
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "properties": {
    "active": "bool",
    "deploymentSettings": {
      "addonConfigs": {
        "{customized property}": {}
      },
      "containerProbeSettings": {
        "disableProbe": "bool"
      },
      "environmentVariables": {
        "{customized property}": "string"
      },
      "livenessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "readinessProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "resourceRequests": {
        "cpu": "string",
        "memory": "string"
      },
      "startupProbe": {
        "disableProbe": "bool",
        "failureThreshold": "int",
        "initialDelaySeconds": "int",
        "periodSeconds": "int",
        "probeAction": {
          "type": "string"
          // For remaining properties, see ProbeAction objects
        },
        "successThreshold": "int",
        "timeoutSeconds": "int"
      },
      "terminationGracePeriodSeconds": "int"
    },
    "source": {
      "version": "string",
      "type": "string"
      // For remaining properties, see UserSourceInfo objects
    }
  }
}

Objetos ProbeAction

Defina a propriedade tipo para especificar o tipo de objeto.

Para ExecAction, use:

  "type": "ExecAction",
  "command": [ "string" ]

Para HTTPGetAction, use:

  "type": "HTTPGetAction",
  "path": "string",
  "scheme": "string"

Para TCPSocketAction, use:

  "type": "TCPSocketAction"

Objetos UserSourceInfo

Defina a propriedade tipo para especificar o tipo de objeto.

Para BuildResult, use:

  "type": "BuildResult",
  "buildResultId": "string"

Para de Contêiner, use:

  "type": "Container",
  "customContainer": {
    "args": [ "string" ],
    "command": [ "string" ],
    "containerImage": "string",
    "imageRegistryCredential": {
      "password": "string",
      "username": "string"
    },
    "languageFramework": "string",
    "server": "string"
  }

Para Jar, use:

  "type": "Jar",
  "jvmOptions": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

Para NetCoreZip, use:

  "type": "NetCoreZip",
  "netCoreMainEntryPath": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

Para de origem, use:

  "type": "Source",
  "artifactSelector": "string",
  "relativePath": "string",
  "runtimeVersion": "string"

Valores de propriedade

Spring/apps/deployments

Nome Descrição Valor
tipo O tipo de recurso 'Microsoft.AppPlatform/Spring/apps/deployments'
apiVersion A versão da API do recurso '2022-12-01'
nome O nome do recurso

Veja como definir nomes e tipos para recursos filho em modelos do ARM JSON.
cadeia de caracteres (obrigatório)
Sku Sku do recurso de implantação de SKU
Propriedades Propriedades do recurso de implantação deploymentResourceProperties

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
deploymentSettings Configurações de implantação da Implantação DeploymentSettings
fonte Informações de origem carregadas da implantação. UserSourceInfo

DeploymentSettings

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
environmentVariables Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Investigação periódica da atividade da Instância de Aplicativo. A Instância do Aplicativo será reiniciada se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
readinessProbe Investigação periódica da preparação do serviço da Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade de serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
resourceRequests A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startupProbe StartupProbe indica que a Instância de Aplicativo foi inicializada com êxito. Se especificado, nenhuma outra investigação será executada até que isso seja concluído com êxito. Se essa investigação falhar, o Pod será reiniciado, assim como se o livenessProbe tivesse falhado. Isso pode ser usado para fornecer diferentes parâmetros de investigação no início do ciclo de vida de uma Instância de Aplicativo, quando pode levar muito tempo para carregar dados ou aquecer um cache do que durante a operação de estado estável. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
terminationGracePeriodSeconds Duração opcional em segundos que a Instância de Aplicativo precisa terminar normalmente. Pode ser reduzido na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Se esse valor for nulo, o período de carência padrão será usado. O período de carência é a duração em segundos após os processos em execução na Instância de Aplicativo serem enviados um sinal de encerramento e a hora em que os processos são interrompidos à força com um sinal de encerramento. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Nome Descrição Valor
{propriedade personalizada}

ContainerProbeSettings

Nome Descrição Valor
disableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor
{propriedade personalizada} corda

Sondar

Nome Descrição Valor
disableProbe Indique se a investigação está desabilitada. bool (obrigatório)
failureThreshold Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O valor mínimo é 1. int
initialDelaySeconds Número de segundos após o início da Instância de Aplicativo antes de as investigações serem iniciadas. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Com que frequência (em segundos) executar a investigação. O valor mínimo é 1. int
probeAction A ação da investigação. ProbeAction
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. Deve ser 1 para animação e inicialização. O valor mínimo é 1. int
timeoutSeconds Número de segundos após o qual a investigação atinge o tempo limite. O valor mínimo é 1. int

ProbeAction

Nome Descrição Valor
tipo Definir o tipo de objeto ExecAction
HTTPGetAction
TCPSocketAction (obrigatório)

ExecAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'ExecAction' (obrigatório)
comando O comando é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho do comando é raiz ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, portanto, as instruções de shell tradicionais (',', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente esse shell. O status de saída de 0 é tratado como ativo/íntegro e não zero não está íntegro. string[]

HttpGetAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'HTTPGetAction' (obrigatório)
caminho Caminho para acesso no servidor HTTP. corda
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP.

Valores de enumeração possíveis:
- "HTTP" significa que o esquema usado será http://
- "HTTPS" significa que o esquema usado será https://
'HTTP'
'HTTPS'

TCPSocketAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. 'TCPSocketAction' (obrigatório)

ResourceRequests

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. corda
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. corda

UserSourceInfo

Nome Descrição Valor
Versão Versão da origem corda
tipo Definir o tipo de objeto buildResult
de contêiner
Jar
NetCoreZip
de origem (obrigatório)

BuildResultUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'BuildResult' (obrigatório)
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. corda

CustomContainerUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'Contêiner' (obrigatório)
customContainer Conteúdo do contêiner personalizado CustomContainer

CustomContainer

Nome Descrição Valor
args Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. string[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. string[]
containerImage Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de {repositório}:{tag} sem o nome do servidor do registro corda
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada corda
servidor O nome do registro que contém a imagem do contêiner corda

ImageRegistryCredential

Nome Descrição Valor
senha A senha da credencial do registro de imagem corda
nome de usuário O nome de usuário da credencial do registro de imagem corda

JarUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'Jar' (obrigatório)
jvmOptions Parâmetro JVM corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo Jar corda

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'NetCoreZip' (obrigatório)
netCoreMainEntryPath O caminho para o executável do .NET em relação à raiz zip corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo .Net corda

SourceUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada 'Origem' (obrigatório)
artifactSelector Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo de origem corda

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku corda
camada Camada do Sku corda

Modelos de início rápido

Os modelos de início rápido a seguir implantam esse tipo de recurso.

Modelo Descrição
implantar um aplicativo simples de microsserviço do Azure Spring Apps

Implantar no Azure
Este modelo implanta um aplicativo simples de microsserviço do Azure Spring Apps para ser executado no Azure.

Definição de recurso do Terraform (provedor de AzAPI)

O tipo de recurso Spring/apps/deployments pode ser implantado com operações direcionadas:

  • grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.AppPlatform/Spring/apps/deployments, adicione o Terraform a seguir ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.AppPlatform/Spring/apps/deployments@2022-12-01"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      active = bool
      deploymentSettings = {
        addonConfigs = {}
        containerProbeSettings = {
          disableProbe = bool
        }
        environmentVariables = {
          {customized property} = "string"
        }
        livenessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        readinessProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        resourceRequests = {
          cpu = "string"
          memory = "string"
        }
        startupProbe = {
          disableProbe = bool
          failureThreshold = int
          initialDelaySeconds = int
          periodSeconds = int
          probeAction = {
            type = "string"
            // For remaining properties, see ProbeAction objects
          }
          successThreshold = int
          timeoutSeconds = int
        }
        terminationGracePeriodSeconds = int
      }
      source = {
        version = "string"
        type = "string"
        // For remaining properties, see UserSourceInfo objects
      }
    }
    sku = {
      capacity = int
      name = "string"
      tier = "string"
    }
  })
}

Objetos ProbeAction

Defina a propriedade tipo para especificar o tipo de objeto.

Para ExecAction, use:

  type = "ExecAction"
  command = [
    "string"
  ]

Para HTTPGetAction, use:

  type = "HTTPGetAction"
  path = "string"
  scheme = "string"

Para TCPSocketAction, use:

  type = "TCPSocketAction"

Objetos UserSourceInfo

Defina a propriedade tipo para especificar o tipo de objeto.

Para BuildResult, use:

  type = "BuildResult"
  buildResultId = "string"

Para de Contêiner, use:

  type = "Container"
  customContainer = {
    args = [
      "string"
    ]
    command = [
      "string"
    ]
    containerImage = "string"
    imageRegistryCredential = {
      password = "string"
      username = "string"
    }
    languageFramework = "string"
    server = "string"
  }

Para Jar, use:

  type = "Jar"
  jvmOptions = "string"
  relativePath = "string"
  runtimeVersion = "string"

Para NetCoreZip, use:

  type = "NetCoreZip"
  netCoreMainEntryPath = "string"
  relativePath = "string"
  runtimeVersion = "string"

Para de origem, use:

  type = "Source"
  artifactSelector = "string"
  relativePath = "string"
  runtimeVersion = "string"

Valores de propriedade

Spring/apps/deployments

Nome Descrição Valor
tipo O tipo de recurso "Microsoft.AppPlatform/Spring/apps/deployments@2022-12-01"
nome O nome do recurso cadeia de caracteres (obrigatório)
parent_id A ID do recurso que é o pai desse recurso. ID do recurso do tipo: aplicativos
Sku Sku do recurso de implantação de SKU
Propriedades Propriedades do recurso de implantação deploymentResourceProperties

DeploymentResourceProperties

Nome Descrição Valor
ativo Indica se a implantação está ativa Bool
deploymentSettings Configurações de implantação da Implantação DeploymentSettings
fonte Informações de origem carregadas da implantação. UserSourceInfo

DeploymentSettings

Nome Descrição Valor
addonConfigs Coleção de complementos DeploymentSettingsAddonConfigs
containerProbeSettings Configurações de investigação de disponibilidade e preparação do contêiner ContainerProbeSettings
environmentVariables Coleção de variáveis de ambiente DeploymentSettingsEnvironmentVariables
livenessProbe Investigação periódica da atividade da Instância de Aplicativo. A Instância do Aplicativo será reiniciada se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
readinessProbe Investigação periódica da preparação do serviço da Instância de Aplicativo. A Instância do Aplicativo será removida dos pontos de extremidade de serviço se a investigação falhar. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
resourceRequests A quantidade de recursos solicitada para cpu e memória necessárias. É recomendável que, usando esse campo para representar a CPU e a Memória necessárias, a CPU do campo antigo e o memoryInGB serão preteridos posteriormente. ResourceRequests
startupProbe StartupProbe indica que a Instância de Aplicativo foi inicializada com êxito. Se especificado, nenhuma outra investigação será executada até que isso seja concluído com êxito. Se essa investigação falhar, o Pod será reiniciado, assim como se o livenessProbe tivesse falhado. Isso pode ser usado para fornecer diferentes parâmetros de investigação no início do ciclo de vida de uma Instância de Aplicativo, quando pode levar muito tempo para carregar dados ou aquecer um cache do que durante a operação de estado estável. Isso não pode ser atualizado. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes de investigação de
terminationGracePeriodSeconds Duração opcional em segundos que a Instância de Aplicativo precisa terminar normalmente. Pode ser reduzido na solicitação de exclusão. O valor deve ser inteiro não negativo. O valor zero indica parar imediatamente por meio do sinal de eliminação (sem oportunidade de desligar). Se esse valor for nulo, o período de carência padrão será usado. O período de carência é a duração em segundos após os processos em execução na Instância de Aplicativo serem enviados um sinal de encerramento e a hora em que os processos são interrompidos à força com um sinal de encerramento. Defina esse valor por mais tempo do que o tempo de limpeza esperado para o processo. O padrão é 90 segundos. int

DeploymentSettingsAddonConfigs

Nome Descrição Valor
{propriedade personalizada}

ContainerProbeSettings

Nome Descrição Valor
disableProbe Indica se desabilitar a investigação de disponibilidade e preparação Bool

DeploymentSettingsEnvironmentVariables

Nome Descrição Valor
{propriedade personalizada} corda

Sondar

Nome Descrição Valor
disableProbe Indique se a investigação está desabilitada. bool (obrigatório)
failureThreshold Falhas consecutivas mínimas para que a investigação seja considerada falha após ter sido bem-sucedida. O valor mínimo é 1. int
initialDelaySeconds Número de segundos após o início da Instância de Aplicativo antes de as investigações serem iniciadas. Mais informações: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes int
periodSeconds Com que frequência (em segundos) executar a investigação. O valor mínimo é 1. int
probeAction A ação da investigação. ProbeAction
successThreshold Sucessos mínimos consecutivos para que a investigação seja considerada bem-sucedida após ter falhado. Deve ser 1 para animação e inicialização. O valor mínimo é 1. int
timeoutSeconds Número de segundos após o qual a investigação atinge o tempo limite. O valor mínimo é 1. int

ProbeAction

Nome Descrição Valor
tipo Definir o tipo de objeto ExecAction
HTTPGetAction
TCPSocketAction (obrigatório)

ExecAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. "ExecAction" (obrigatório)
comando O comando é a linha de comando a ser executada dentro do contêiner, o diretório de trabalho do comando é raiz ('/') no sistema de arquivos do contêiner. O comando não é executado dentro de um shell, portanto, as instruções de shell tradicionais (',', etc) não funcionarão. Para usar um shell, você precisa chamar explicitamente esse shell. O status de saída de 0 é tratado como ativo/íntegro e não zero não está íntegro. string[]

HttpGetAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. "HTTPGetAction" (obrigatório)
caminho Caminho para acesso no servidor HTTP. corda
esquema Esquema a ser usado para se conectar ao host. O padrão é HTTP.

Valores de enumeração possíveis:
- "HTTP" significa que o esquema usado será http://
- "HTTPS" significa que o esquema usado será https://
"HTTP"
"HTTPS"

TCPSocketAction

Nome Descrição Valor
tipo O tipo da ação a ser executada para executar a verificação de integridade. "TCPSocketAction" (obrigatório)

ResourceRequests

Nome Descrição Valor
CPU CPU necessária. Um núcleo pode ser representado por 1 ou 1000m. Isso deve ser de 500m ou 1 para a camada Básica e {500m, 1, 2, 3, 4} para a camada Standard. corda
memória Memória necessária. 1 GB pode ser representado por 1Gi ou 1024Mi. Isso deve ser {512Mi, 1Gi, 2Gi} para a camada Básica e {512Mi, 1Gi, 2Gi, ..., 8Gi} para a camada Standard. corda

UserSourceInfo

Nome Descrição Valor
Versão Versão da origem corda
tipo Definir o tipo de objeto buildResult
de contêiner
Jar
NetCoreZip
de origem (obrigatório)

BuildResultUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada "BuildResult" (obrigatório)
buildResultId ID de recurso de um resultado de build com êxito existente na mesma instância do Spring. corda

CustomContainerUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada "Contêiner" (obrigatório)
customContainer Conteúdo do contêiner personalizado CustomContainer

CustomContainer

Nome Descrição Valor
args Argumentos para o ponto de entrada. O CMD da imagem do Docker será usado se isso não for fornecido. string[]
comando Matriz de ponto de entrada. Não executado dentro de um shell. O ENTRYPOINT da imagem do Docker será usado se isso não for fornecido. string[]
containerImage Imagem de contêiner do contêiner personalizado. Isso deve estar na forma de {repositório}:{tag} sem o nome do servidor do registro corda
imageRegistryCredential Credencial do registro de imagem ImageRegistryCredential
languageFramework Estrutura de linguagem da imagem de contêiner carregada corda
servidor O nome do registro que contém a imagem do contêiner corda

ImageRegistryCredential

Nome Descrição Valor
senha A senha da credencial do registro de imagem corda
nome de usuário O nome de usuário da credencial do registro de imagem corda

JarUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada "Jar" (obrigatório)
jvmOptions Parâmetro JVM corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo Jar corda

NetCoreZipUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada "NetCoreZip" (obrigatório)
netCoreMainEntryPath O caminho para o executável do .NET em relação à raiz zip corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo .Net corda

SourceUploadedUserSourceInfo

Nome Descrição Valor
tipo Tipo da origem carregada "Origem" (obrigatório)
artifactSelector Seletor para o artefato a ser usado para a implantação para projetos de vários módulos. Isso deve ser
o caminho relativo para o módulo/projeto de destino.
corda
relativePath Caminho relativo do armazenamento que armazena a origem corda
runtimeVersion Versão de runtime do arquivo de origem corda

Sku

Nome Descrição Valor
capacidade Capacidade atual do recurso de destino int
nome Nome do Sku corda
camada Camada do Sku corda