Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
- Ultimissimo
- 2024-05-01-anteprima
- Anteprima 2024-01-01
- 2023-12-01
- 11-01-preview 2023
- Anteprima 2023-09-01
- 2023-07-01-anteprima
- 2023-05-01-anteprima
- 2023-03-01-anteprima
- 01-01-2023
- 2022-12-01
11-11-2022 -
09-09-2022 -
05-05-2022 - 2022-04-01
03-03-2022 - 01-01-2022
- Anteprima 2021-09-01
- 2021-06-01-anteprima
- 11-01-preview 2020
- 2020-07-01
Osservazioni:
Nota: Azure Spring Apps Application Deployments (Microsoft.AppPlatform/Spring/apps/deployments) è ora deprecato e sarà ritirato il 31-05-2028. Per altre informazioni, vedere https://aka.ms/asaretirement.
Definizione della risorsa Bicep
Il tipo di risorsa Spring/apps/deployments può essere distribuito con operazioni destinate a:
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.
Formato risorsa
Per creare una risorsa Microsoft.AppPlatform/Spring/apps/deployments, aggiungi il seguente Bicep al tuo template.
resource symbolicname 'Microsoft.AppPlatform/Spring/apps/deployments@2022-05-01-preview' = {
parent: resourceSymbolicName
name: 'string'
properties: {
active: bool
deploymentSettings: {
addonConfigs: {
{customized property}: {
{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
}
}
sku: {
capacity: int
name: 'string'
tier: 'string'
}
}
Oggetti UserSourceInfo
Impostare la proprietà tipo di
Per BuildResult, usare:
{
buildResultId: 'string'
type: 'BuildResult'
}
Per Contenitore, usare:
{
customContainer: {
args: [
'string'
]
command: [
'string'
]
containerImage: 'string'
imageRegistryCredential: {
password: 'string'
username: 'string'
}
languageFramework: 'string'
server: 'string'
}
type: 'Container'
}
Per jar, usare:
{
jvmOptions: 'string'
relativePath: 'string'
runtimeVersion: 'string'
type: 'Jar'
}
Per NetCoreZip, usare:
{
netCoreMainEntryPath: 'string'
relativePath: 'string'
runtimeVersion: 'string'
type: 'NetCoreZip'
}
Per origine, usare:
{
artifactSelector: 'string'
relativePath: 'string'
runtimeVersion: 'string'
type: 'Source'
}
Oggetti ProbeAction
Impostare la proprietà tipo di
Per ExecAction, usare:
{
command: [
'string'
]
type: 'ExecAction'
}
Per HTTPGetAction, usare:
{
path: 'string'
scheme: 'string'
type: 'HTTPGetAction'
}
Per TCPSocketAction, usare:
{
type: 'TCPSocketAction'
}
Valori delle proprietà
Microsoft.AppPlatform/Spring/apps/deployments
| Nome | Descrizione | Valore |
|---|---|---|
| nome | Nome della risorsa | stringa (obbligatorio) |
| genitore | In Bicep, puoi specificare la risorsa genitore per una risorsa figlia. È necessario aggiungere questa proprietà solo quando la risorsa figlio viene dichiarata all'esterno della risorsa padre. Per altre informazioni, vedere risorsa figlio all'esterno della risorsa padre. |
Nome simbolico per la risorsa di tipo: Spring/apps |
| proprietà | Proprietà della risorsa di distribuzione | Proprietà della risorsa di distribuzione |
| Sku | Sku della risorsa di distribuzione | Sku |
AddonProfile
| Nome | Descrizione | Valore |
|---|
BuildResultUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| buildResultId | ID risorsa di un risultato di compilazione esistente completato nella stessa istanza spring. | corda |
| tipo | Tipo dell'origine caricata | 'BuildResult' (obbligatorio) |
ContenitoreProbeImpostazioni
| Nome | Descrizione | Valore |
|---|---|---|
| disabilitaSonda | Indica se disabilitare il probe di attività e conformità | Bool |
Contenitore personalizzato
| Nome | Descrizione | Valore |
|---|---|---|
| argomenti | Argomenti per il punto di ingresso. Il CMD dell'immagine Docker viene usato se non viene specificato. | stringa[] |
| comando | Matrice di punti di ingresso. Non eseguito all'interno di una shell. Se non viene specificato, viene usato ENTRYPOINT dell'immagine Docker. | stringa[] |
| containerImage | Immagine del contenitore personalizzato. Deve essere sotto forma di <repository>:<tag> senza il nome del server del Registro di sistema | corda |
| imageRegistryCredential | Credenziali del Registro di sistema delle immagini | ImageRegistryCredential |
| languageFramework | Framework del linguaggio dell'immagine del contenitore caricato | corda |
| server | Nome del Registro di sistema che contiene l'immagine del contenitore | corda |
CustomContainerUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| customContainer | Payload del contenitore personalizzato | CustomContainer |
| tipo | Tipo dell'origine caricata | 'Container' (obbligatorio) |
Proprietà della risorsa di distribuzione
| Nome | Descrizione | Valore |
|---|---|---|
| attivo | Indica se la distribuzione è attiva | Bool |
| deploymentSettings | Impostazioni di distribuzione della distribuzione | Impostazioni di distribuzione |
| fonte | Informazioni sull'origine caricate della distribuzione. | Informazioni Sorgente Utente |
Impostazioni di distribuzione
| Nome | Descrizione | Valore |
|---|---|---|
| addonConfigs | Raccolta di componenti aggiuntivi | DeploymentSettingsAddonConfigs |
| containerProbeSettings | Impostazioni del probe di disponibilità e conformità dei contenitori | ContenitoreProbeImpostazioni |
| environmentVariables | Raccolta di variabili di ambiente | DeploymentSettingsEnvironmentVariables |
| livenessSonda | Probe periodico della durata dell'istanza dell'app. L'istanza dell'app verrà riavviata se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| prontezzaSonda | Probe periodico dell'idoneità del servizio dell'istanza dell'app. L'istanza dell'app verrà rimossa dagli endpoint di servizio se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| resourceRequests | Quantità di risorse richiesta per la CPU e la memoria necessarie. È consigliabile usare questo campo per rappresentare la CPU e la memoria necessarie, la CPU del campo precedente e memoryInGB verrà deprecata in un secondo momento. | Richieste di risorse |
| startupProbe | StartupProbe indica che l'istanza dell'app è stata inizializzata correttamente. Se specificato, non vengono eseguiti altri probe fino a quando non viene completato correttamente. Se il probe ha esito negativo, il pod verrà riavviato, come se livenessProbe non riuscisse. Può essere usato per fornire parametri di probe diversi all'inizio del ciclo di vita di un'istanza dell'app, quando potrebbe richiedere molto tempo per caricare i dati o riscaldare una cache, rispetto a durante l'operazione con stato costante. Non è possibile aggiornarlo. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| terminationGracePeriodSeconds | La durata facoltativa in secondi dell'istanza dell'app deve terminare normalmente. Può essere ridotto nella richiesta di eliminazione. Il valore deve essere un numero intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale kill (nessuna opportunità di arresto). Se questo valore è nil, verrà invece utilizzato il periodo di tolleranza predefinito. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nell'istanza dell'app vengono inviati un segnale di terminazione e il tempo in cui i processi vengono interrotti forzatamente con un segnale di terminazione. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Il valore predefinito è 90 secondi. | Int |
DeploymentSettingsAddonConfigs
| Nome | Descrizione | Valore |
|---|
DeploymentSettingsEnvironmentVariables
| Nome | Descrizione | Valore |
|---|
Azione esecutiva
| Nome | Descrizione | Valore |
|---|---|---|
| comando | Il comando è la riga di comando da eseguire all'interno del contenitore, la directory di lavoro per il comando è radice ('/') nel file system del contenitore. Il comando non viene eseguito all'interno di una shell, quindi le istruzioni della shell tradizionali ('|', ecc) non funzioneranno. Per usare una shell, è necessario chiamare in modo esplicito tale shell. Lo stato di uscita pari a 0 viene considerato attivo/integro e non zero non è integro. | stringa[] |
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'ExecAction' (obbligatorio) |
HttpGetAction
| Nome | Descrizione | Valore |
|---|---|---|
| sentiero | Percorso di accesso nel server HTTP. | corda |
| schema | Schema da usare per la connessione all'host. Il valore predefinito è HTTP. Valori di enumerazione possibili: - "HTTP" significa che lo schema utilizzato sarà http://- "HTTPS" significa che lo schema utilizzato verrà https:// |
'HTTP' 'HTTPS' |
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'HTTPGetAction' (obbligatorio) |
ImageRegistryCredential
| Nome | Descrizione | Valore |
|---|---|---|
| parola d’ordine | Password delle credenziali del Registro di sistema delle immagini | corda |
| nome utente | Nome utente della credenziale del Registro di sistema delle immagini | corda |
JarUploadedUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| Opzioni jvm | Parametro JVM | corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file JAR | corda |
| tipo | Tipo dell'origine caricata | 'Jar' (obbligatorio) |
NetCoreZipUploadedUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| netCoreMainEntryPath | Il percorso verso l'eseguibile .NET rispetto alla zip root | corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file .NET | corda |
| tipo | Tipo dell'origine caricata | 'NetCoreZip' (obbligatorio) |
Sonda
| Nome | Descrizione | Valore |
|---|---|---|
| disabilitaSonda | Indicare se il probe è disabilitato. | bool (obbligatorio) |
| failureThreshold | Errori consecutivi minimi per il probe da considerare non riuscito dopo l'esito positivo. Il valore minimo è 1. | Int |
| initialDelaySeconds | Numero di secondi dopo l'avvio dell'istanza dell'app prima dell'avvio dei probe. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Int |
| periodSeconds | Frequenza (in secondi) per eseguire il probe. Il valore minimo è 1. | Int |
| probeAction | Azione del probe. | probeAction |
| Soglia di successo | Numero minimo di successi consecutivi che il probe deve essere considerato riuscito dopo aver avuto esito negativo.Minimum consecutive successful for the probe to be consider successful after having failed. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. | Int |
| timeoutSeconds | Numero di secondi dopo il quale si verifica il timeout del probe. Il valore minimo è 1. | Int |
ProbeAction
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Impostare su "ExecAction" per il tipo ExecAction. Impostare su "HTTPGetAction" per il tipo HttpGetAction. Impostare su "TCPSocketAction" per il tipo TCPSocketAction. | 'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obbligatorio) |
Richieste di risorse
| Nome | Descrizione | Valore |
|---|---|---|
| CPU | CPU richiesta. 1 core può essere rappresentato da 1 o 1000 m. Deve essere 500m o 1 per il livello Basic e {500m, 1, 2, 3, 4} per il livello Standard. | corda |
| memoria | Memoria necessaria. 1 GB può essere rappresentato da 1Gi o 1024Mi. Deve essere {512Mi, 1Gi, 2Gi} per il livello Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} per il livello Standard. | corda |
Sku
| Nome | Descrizione | Valore |
|---|---|---|
| capacità | Capacità corrente della risorsa di destinazione | Int |
| nome | Nome dello SKU | corda |
| livello | Livello dello SKU | corda |
FonteCaricatoUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| artefactSelector | Selettore per l'artefatto da usare per la distribuzione per i progetti multimodulo. Deve trattarsi di percorso relativo al modulo/progetto di destinazione. |
corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file di origine | corda |
| tipo | Tipo dell'origine caricata | 'Source' (obbligatorio) |
TCPSocketAction
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'TCPSocketAction' (obbligatorio) |
Informazioni Sorgente Utente
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Impostare su 'BuildResult' per il tipo BuildResultUserSourceInfo. Impostare su "Contenitore" per il tipo CustomContainerUserSourceInfo. Impostare su "Jar" per il tipo JarUploadedUserSourceInfo. Impostare su "NetCoreZip" per il tipo NetCoreZipUploadedUserSourceInfo. Impostare su 'Source' per il tipo SourceUploadedUserSourceInfo. | 'BuildResult' 'Contenitore' 'Barattolo' 'NetCoreZip' 'Source' (obbligatorio) |
| Versione | Versione dell'origine | corda |
Esempi di utilizzo
Campioni di Bicep
Un esempio di base di distribuzione di Spring Cloud Deployment.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource spring 'Microsoft.AppPlatform/Spring@2023-05-01-preview' = {
name: resourceName
location: location
properties: {
zoneRedundant: false
}
sku: {
name: 'E0'
}
}
resource app 'Microsoft.AppPlatform/Spring/apps@2023-05-01-preview' = {
parent: spring
name: resourceName
location: location
properties: {
customPersistentDisks: []
enableEndToEndTLS: false
public: false
}
}
resource deployment 'Microsoft.AppPlatform/Spring/apps/deployments@2023-05-01-preview' = {
parent: app
name: resourceName
properties: {
deploymentSettings: {
environmentVariables: {}
}
source: {
customContainer: {
args: []
command: []
containerImage: 'springio/gs-spring-boot-docker'
languageFramework: ''
server: 'docker.io'
}
type: 'Container'
}
}
sku: {
capacity: 1
name: 'E0'
tier: 'Enterprise'
}
}
Esempi di Azure Quickstart
I seguenti template Azure Quickstart contengono Bicep esempi per il deployment di questo tipo di risorsa.
| File Bicep | Descrizione |
|---|---|
| Distribuire una semplice applicazione Azure Spring Apps microservizi | Questo template distribuisce una semplice applicazione microservice Azure Spring Apps da eseguire su Azure. |
Definizione di risorsa del modello di Resource Manager
Il tipo di risorsa Spring/apps/deployments può essere distribuito con operazioni destinate a:
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.
Formato risorsa
Per creare una risorsa Microsoft.AppPlatform/Spring/apps/deployments, aggiungere il codice JSON seguente al modello.
{
"type": "Microsoft.AppPlatform/Spring/apps/deployments",
"apiVersion": "2022-05-01-preview",
"name": "string",
"properties": {
"active": "bool",
"deploymentSettings": {
"addonConfigs": {
"{customized property}": {
"{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
}
},
"sku": {
"capacity": "int",
"name": "string",
"tier": "string"
}
}
Oggetti UserSourceInfo
Impostare la proprietà tipo di
Per BuildResult, usare:
{
"buildResultId": "string",
"type": "BuildResult"
}
Per Contenitore, usare:
{
"customContainer": {
"args": [ "string" ],
"command": [ "string" ],
"containerImage": "string",
"imageRegistryCredential": {
"password": "string",
"username": "string"
},
"languageFramework": "string",
"server": "string"
},
"type": "Container"
}
Per jar, usare:
{
"jvmOptions": "string",
"relativePath": "string",
"runtimeVersion": "string",
"type": "Jar"
}
Per NetCoreZip, usare:
{
"netCoreMainEntryPath": "string",
"relativePath": "string",
"runtimeVersion": "string",
"type": "NetCoreZip"
}
Per origine, usare:
{
"artifactSelector": "string",
"relativePath": "string",
"runtimeVersion": "string",
"type": "Source"
}
Oggetti ProbeAction
Impostare la proprietà tipo di
Per ExecAction, usare:
{
"command": [ "string" ],
"type": "ExecAction"
}
Per HTTPGetAction, usare:
{
"path": "string",
"scheme": "string",
"type": "HTTPGetAction"
}
Per TCPSocketAction, usare:
{
"type": "TCPSocketAction"
}
Valori delle proprietà
Microsoft.AppPlatform/Spring/apps/deployments
| Nome | Descrizione | Valore |
|---|---|---|
| versione dell'API | Versione dell'API | '2022-05-01-anteprima' |
| nome | Nome della risorsa | stringa (obbligatorio) |
| proprietà | Proprietà della risorsa di distribuzione | Proprietà della risorsa di distribuzione |
| Sku | Sku della risorsa di distribuzione | Sku |
| tipo | Tipo di risorsa | 'Microsoft.AppPlatform/Spring/apps/deployments' |
AddonProfile
| Nome | Descrizione | Valore |
|---|
BuildResultUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| buildResultId | ID risorsa di un risultato di compilazione esistente completato nella stessa istanza spring. | corda |
| tipo | Tipo dell'origine caricata | 'BuildResult' (obbligatorio) |
ContenitoreProbeImpostazioni
| Nome | Descrizione | Valore |
|---|---|---|
| disabilitaSonda | Indica se disabilitare il probe di attività e conformità | Bool |
Contenitore personalizzato
| Nome | Descrizione | Valore |
|---|---|---|
| argomenti | Argomenti per il punto di ingresso. Il CMD dell'immagine Docker viene usato se non viene specificato. | stringa[] |
| comando | Matrice di punti di ingresso. Non eseguito all'interno di una shell. Se non viene specificato, viene usato ENTRYPOINT dell'immagine Docker. | stringa[] |
| containerImage | Immagine del contenitore personalizzato. Deve essere sotto forma di <repository>:<tag> senza il nome del server del Registro di sistema | corda |
| imageRegistryCredential | Credenziali del Registro di sistema delle immagini | ImageRegistryCredential |
| languageFramework | Framework del linguaggio dell'immagine del contenitore caricato | corda |
| server | Nome del Registro di sistema che contiene l'immagine del contenitore | corda |
CustomContainerUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| customContainer | Payload del contenitore personalizzato | CustomContainer |
| tipo | Tipo dell'origine caricata | 'Container' (obbligatorio) |
Proprietà della risorsa di distribuzione
| Nome | Descrizione | Valore |
|---|---|---|
| attivo | Indica se la distribuzione è attiva | Bool |
| deploymentSettings | Impostazioni di distribuzione della distribuzione | Impostazioni di distribuzione |
| fonte | Informazioni sull'origine caricate della distribuzione. | Informazioni Sorgente Utente |
Impostazioni di distribuzione
| Nome | Descrizione | Valore |
|---|---|---|
| addonConfigs | Raccolta di componenti aggiuntivi | DeploymentSettingsAddonConfigs |
| containerProbeSettings | Impostazioni del probe di disponibilità e conformità dei contenitori | ContenitoreProbeImpostazioni |
| environmentVariables | Raccolta di variabili di ambiente | DeploymentSettingsEnvironmentVariables |
| livenessSonda | Probe periodico della durata dell'istanza dell'app. L'istanza dell'app verrà riavviata se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| prontezzaSonda | Probe periodico dell'idoneità del servizio dell'istanza dell'app. L'istanza dell'app verrà rimossa dagli endpoint di servizio se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| resourceRequests | Quantità di risorse richiesta per la CPU e la memoria necessarie. È consigliabile usare questo campo per rappresentare la CPU e la memoria necessarie, la CPU del campo precedente e memoryInGB verrà deprecata in un secondo momento. | Richieste di risorse |
| startupProbe | StartupProbe indica che l'istanza dell'app è stata inizializzata correttamente. Se specificato, non vengono eseguiti altri probe fino a quando non viene completato correttamente. Se il probe ha esito negativo, il pod verrà riavviato, come se livenessProbe non riuscisse. Può essere usato per fornire parametri di probe diversi all'inizio del ciclo di vita di un'istanza dell'app, quando potrebbe richiedere molto tempo per caricare i dati o riscaldare una cache, rispetto a durante l'operazione con stato costante. Non è possibile aggiornarlo. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| terminationGracePeriodSeconds | La durata facoltativa in secondi dell'istanza dell'app deve terminare normalmente. Può essere ridotto nella richiesta di eliminazione. Il valore deve essere un numero intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale kill (nessuna opportunità di arresto). Se questo valore è nil, verrà invece utilizzato il periodo di tolleranza predefinito. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nell'istanza dell'app vengono inviati un segnale di terminazione e il tempo in cui i processi vengono interrotti forzatamente con un segnale di terminazione. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Il valore predefinito è 90 secondi. | Int |
DeploymentSettingsAddonConfigs
| Nome | Descrizione | Valore |
|---|
DeploymentSettingsEnvironmentVariables
| Nome | Descrizione | Valore |
|---|
Azione esecutiva
| Nome | Descrizione | Valore |
|---|---|---|
| comando | Il comando è la riga di comando da eseguire all'interno del contenitore, la directory di lavoro per il comando è radice ('/') nel file system del contenitore. Il comando non viene eseguito all'interno di una shell, quindi le istruzioni della shell tradizionali ('|', ecc) non funzioneranno. Per usare una shell, è necessario chiamare in modo esplicito tale shell. Lo stato di uscita pari a 0 viene considerato attivo/integro e non zero non è integro. | stringa[] |
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'ExecAction' (obbligatorio) |
HttpGetAction
| Nome | Descrizione | Valore |
|---|---|---|
| sentiero | Percorso di accesso nel server HTTP. | corda |
| schema | Schema da usare per la connessione all'host. Il valore predefinito è HTTP. Valori di enumerazione possibili: - "HTTP" significa che lo schema utilizzato sarà http://- "HTTPS" significa che lo schema utilizzato verrà https:// |
'HTTP' 'HTTPS' |
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'HTTPGetAction' (obbligatorio) |
ImageRegistryCredential
| Nome | Descrizione | Valore |
|---|---|---|
| parola d’ordine | Password delle credenziali del Registro di sistema delle immagini | corda |
| nome utente | Nome utente della credenziale del Registro di sistema delle immagini | corda |
JarUploadedUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| Opzioni jvm | Parametro JVM | corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file JAR | corda |
| tipo | Tipo dell'origine caricata | 'Jar' (obbligatorio) |
NetCoreZipUploadedUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| netCoreMainEntryPath | Il percorso verso l'eseguibile .NET rispetto alla zip root | corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file .NET | corda |
| tipo | Tipo dell'origine caricata | 'NetCoreZip' (obbligatorio) |
Sonda
| Nome | Descrizione | Valore |
|---|---|---|
| disabilitaSonda | Indicare se il probe è disabilitato. | bool (obbligatorio) |
| failureThreshold | Errori consecutivi minimi per il probe da considerare non riuscito dopo l'esito positivo. Il valore minimo è 1. | Int |
| initialDelaySeconds | Numero di secondi dopo l'avvio dell'istanza dell'app prima dell'avvio dei probe. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Int |
| periodSeconds | Frequenza (in secondi) per eseguire il probe. Il valore minimo è 1. | Int |
| probeAction | Azione del probe. | probeAction |
| Soglia di successo | Numero minimo di successi consecutivi che il probe deve essere considerato riuscito dopo aver avuto esito negativo.Minimum consecutive successful for the probe to be consider successful after having failed. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. | Int |
| timeoutSeconds | Numero di secondi dopo il quale si verifica il timeout del probe. Il valore minimo è 1. | Int |
ProbeAction
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Impostare su "ExecAction" per il tipo ExecAction. Impostare su "HTTPGetAction" per il tipo HttpGetAction. Impostare su "TCPSocketAction" per il tipo TCPSocketAction. | 'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obbligatorio) |
Richieste di risorse
| Nome | Descrizione | Valore |
|---|---|---|
| CPU | CPU richiesta. 1 core può essere rappresentato da 1 o 1000 m. Deve essere 500m o 1 per il livello Basic e {500m, 1, 2, 3, 4} per il livello Standard. | corda |
| memoria | Memoria necessaria. 1 GB può essere rappresentato da 1Gi o 1024Mi. Deve essere {512Mi, 1Gi, 2Gi} per il livello Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} per il livello Standard. | corda |
Sku
| Nome | Descrizione | Valore |
|---|---|---|
| capacità | Capacità corrente della risorsa di destinazione | Int |
| nome | Nome dello SKU | corda |
| livello | Livello dello SKU | corda |
FonteCaricatoUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| artefactSelector | Selettore per l'artefatto da usare per la distribuzione per i progetti multimodulo. Deve trattarsi di percorso relativo al modulo/progetto di destinazione. |
corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file di origine | corda |
| tipo | Tipo dell'origine caricata | 'Source' (obbligatorio) |
TCPSocketAction
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'TCPSocketAction' (obbligatorio) |
Informazioni Sorgente Utente
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Impostare su 'BuildResult' per il tipo BuildResultUserSourceInfo. Impostare su "Contenitore" per il tipo CustomContainerUserSourceInfo. Impostare su "Jar" per il tipo JarUploadedUserSourceInfo. Impostare su "NetCoreZip" per il tipo NetCoreZipUploadedUserSourceInfo. Impostare su 'Source' per il tipo SourceUploadedUserSourceInfo. | 'BuildResult' 'Contenitore' 'Barattolo' 'NetCoreZip' 'Source' (obbligatorio) |
| Versione | Versione dell'origine | corda |
Esempi di utilizzo
Modelli di Avvio Rapido Azure
I seguenti template Azure Quickstart distribuiscono questo tipo di risorsa.
| Modello | Descrizione |
|---|---|
|
Distribuire una semplice applicazione Azure Spring Apps microservizi |
Questo template distribuisce una semplice applicazione microservice Azure Spring Apps da eseguire su Azure. |
Definizione di risorsa Terraform (provider AzAPI)
Il tipo di risorsa Spring/apps/deployments può essere distribuito con operazioni destinate a:
- Gruppi di risorse
Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.
Formato risorsa
Per creare una risorsa Microsoft.AppPlatform/Spring/apps/deployments, aggiungere il codice Terraform seguente al modello.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.AppPlatform/Spring/apps/deployments@2022-05-01-preview"
name = "string"
parent_id = "string"
body = {
properties = {
active = bool
deploymentSettings = {
addonConfigs = {
{customized property} = {
{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
}
}
sku = {
capacity = int
name = "string"
tier = "string"
}
}
}
Oggetti UserSourceInfo
Impostare la proprietà tipo di
Per BuildResult, usare:
{
buildResultId = "string"
type = "BuildResult"
}
Per Contenitore, usare:
{
customContainer = {
args = [
"string"
]
command = [
"string"
]
containerImage = "string"
imageRegistryCredential = {
password = "string"
username = "string"
}
languageFramework = "string"
server = "string"
}
type = "Container"
}
Per jar, usare:
{
jvmOptions = "string"
relativePath = "string"
runtimeVersion = "string"
type = "Jar"
}
Per NetCoreZip, usare:
{
netCoreMainEntryPath = "string"
relativePath = "string"
runtimeVersion = "string"
type = "NetCoreZip"
}
Per origine, usare:
{
artifactSelector = "string"
relativePath = "string"
runtimeVersion = "string"
type = "Source"
}
Oggetti ProbeAction
Impostare la proprietà tipo di
Per ExecAction, usare:
{
command = [
"string"
]
type = "ExecAction"
}
Per HTTPGetAction, usare:
{
path = "string"
scheme = "string"
type = "HTTPGetAction"
}
Per TCPSocketAction, usare:
{
type = "TCPSocketAction"
}
Valori delle proprietà
Microsoft.AppPlatform/Spring/apps/deployments
| Nome | Descrizione | Valore |
|---|---|---|
| nome | Nome della risorsa | stringa (obbligatorio) |
| parent_id | ID della risorsa padre per questa risorsa. | ID per la risorsa di tipo: Spring/apps |
| proprietà | Proprietà della risorsa di distribuzione | Proprietà della risorsa di distribuzione |
| Sku | Sku della risorsa di distribuzione | Sku |
| tipo | Tipo di risorsa | "Microsoft.AppPlatform/Spring/apps/deployments@2022-05-01-preview" |
AddonProfile
| Nome | Descrizione | Valore |
|---|
BuildResultUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| buildResultId | ID risorsa di un risultato di compilazione esistente completato nella stessa istanza spring. | corda |
| tipo | Tipo dell'origine caricata | 'BuildResult' (obbligatorio) |
ContenitoreProbeImpostazioni
| Nome | Descrizione | Valore |
|---|---|---|
| disabilitaSonda | Indica se disabilitare il probe di attività e conformità | Bool |
Contenitore personalizzato
| Nome | Descrizione | Valore |
|---|---|---|
| argomenti | Argomenti per il punto di ingresso. Il CMD dell'immagine Docker viene usato se non viene specificato. | stringa[] |
| comando | Matrice di punti di ingresso. Non eseguito all'interno di una shell. Se non viene specificato, viene usato ENTRYPOINT dell'immagine Docker. | stringa[] |
| containerImage | Immagine del contenitore personalizzato. Deve essere sotto forma di <repository>:<tag> senza il nome del server del Registro di sistema | corda |
| imageRegistryCredential | Credenziali del Registro di sistema delle immagini | ImageRegistryCredential |
| languageFramework | Framework del linguaggio dell'immagine del contenitore caricato | corda |
| server | Nome del Registro di sistema che contiene l'immagine del contenitore | corda |
CustomContainerUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| customContainer | Payload del contenitore personalizzato | CustomContainer |
| tipo | Tipo dell'origine caricata | 'Container' (obbligatorio) |
Proprietà della risorsa di distribuzione
| Nome | Descrizione | Valore |
|---|---|---|
| attivo | Indica se la distribuzione è attiva | Bool |
| deploymentSettings | Impostazioni di distribuzione della distribuzione | Impostazioni di distribuzione |
| fonte | Informazioni sull'origine caricate della distribuzione. | Informazioni Sorgente Utente |
Impostazioni di distribuzione
| Nome | Descrizione | Valore |
|---|---|---|
| addonConfigs | Raccolta di componenti aggiuntivi | DeploymentSettingsAddonConfigs |
| containerProbeSettings | Impostazioni del probe di disponibilità e conformità dei contenitori | ContenitoreProbeImpostazioni |
| environmentVariables | Raccolta di variabili di ambiente | DeploymentSettingsEnvironmentVariables |
| livenessSonda | Probe periodico della durata dell'istanza dell'app. L'istanza dell'app verrà riavviata se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| prontezzaSonda | Probe periodico dell'idoneità del servizio dell'istanza dell'app. L'istanza dell'app verrà rimossa dagli endpoint di servizio se il probe non riesce. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| resourceRequests | Quantità di risorse richiesta per la CPU e la memoria necessarie. È consigliabile usare questo campo per rappresentare la CPU e la memoria necessarie, la CPU del campo precedente e memoryInGB verrà deprecata in un secondo momento. | Richieste di risorse |
| startupProbe | StartupProbe indica che l'istanza dell'app è stata inizializzata correttamente. Se specificato, non vengono eseguiti altri probe fino a quando non viene completato correttamente. Se il probe ha esito negativo, il pod verrà riavviato, come se livenessProbe non riuscisse. Può essere usato per fornire parametri di probe diversi all'inizio del ciclo di vita di un'istanza dell'app, quando potrebbe richiedere molto tempo per caricare i dati o riscaldare una cache, rispetto a durante l'operazione con stato costante. Non è possibile aggiornarlo. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | probe |
| terminationGracePeriodSeconds | La durata facoltativa in secondi dell'istanza dell'app deve terminare normalmente. Può essere ridotto nella richiesta di eliminazione. Il valore deve essere un numero intero non negativo. Il valore zero indica l'arresto immediato tramite il segnale kill (nessuna opportunità di arresto). Se questo valore è nil, verrà invece utilizzato il periodo di tolleranza predefinito. Il periodo di tolleranza è la durata in secondi dopo che i processi in esecuzione nell'istanza dell'app vengono inviati un segnale di terminazione e il tempo in cui i processi vengono interrotti forzatamente con un segnale di terminazione. Impostare questo valore più lungo del tempo di pulizia previsto per il processo. Il valore predefinito è 90 secondi. | Int |
DeploymentSettingsAddonConfigs
| Nome | Descrizione | Valore |
|---|
DeploymentSettingsEnvironmentVariables
| Nome | Descrizione | Valore |
|---|
Azione esecutiva
| Nome | Descrizione | Valore |
|---|---|---|
| comando | Il comando è la riga di comando da eseguire all'interno del contenitore, la directory di lavoro per il comando è radice ('/') nel file system del contenitore. Il comando non viene eseguito all'interno di una shell, quindi le istruzioni della shell tradizionali ('|', ecc) non funzioneranno. Per usare una shell, è necessario chiamare in modo esplicito tale shell. Lo stato di uscita pari a 0 viene considerato attivo/integro e non zero non è integro. | stringa[] |
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'ExecAction' (obbligatorio) |
HttpGetAction
| Nome | Descrizione | Valore |
|---|---|---|
| sentiero | Percorso di accesso nel server HTTP. | corda |
| schema | Schema da usare per la connessione all'host. Il valore predefinito è HTTP. Valori di enumerazione possibili: - "HTTP" significa che lo schema utilizzato sarà http://- "HTTPS" significa che lo schema utilizzato verrà https:// |
'HTTP' 'HTTPS' |
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'HTTPGetAction' (obbligatorio) |
ImageRegistryCredential
| Nome | Descrizione | Valore |
|---|---|---|
| parola d’ordine | Password delle credenziali del Registro di sistema delle immagini | corda |
| nome utente | Nome utente della credenziale del Registro di sistema delle immagini | corda |
JarUploadedUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| Opzioni jvm | Parametro JVM | corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file JAR | corda |
| tipo | Tipo dell'origine caricata | 'Jar' (obbligatorio) |
NetCoreZipUploadedUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| netCoreMainEntryPath | Il percorso verso l'eseguibile .NET rispetto alla zip root | corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file .NET | corda |
| tipo | Tipo dell'origine caricata | 'NetCoreZip' (obbligatorio) |
Sonda
| Nome | Descrizione | Valore |
|---|---|---|
| disabilitaSonda | Indicare se il probe è disabilitato. | bool (obbligatorio) |
| failureThreshold | Errori consecutivi minimi per il probe da considerare non riuscito dopo l'esito positivo. Il valore minimo è 1. | Int |
| initialDelaySeconds | Numero di secondi dopo l'avvio dell'istanza dell'app prima dell'avvio dei probe. Altre informazioni: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes | Int |
| periodSeconds | Frequenza (in secondi) per eseguire il probe. Il valore minimo è 1. | Int |
| probeAction | Azione del probe. | probeAction |
| Soglia di successo | Numero minimo di successi consecutivi che il probe deve essere considerato riuscito dopo aver avuto esito negativo.Minimum consecutive successful for the probe to be consider successful after having failed. Deve essere 1 per la vita e l'avvio. Il valore minimo è 1. | Int |
| timeoutSeconds | Numero di secondi dopo il quale si verifica il timeout del probe. Il valore minimo è 1. | Int |
ProbeAction
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Impostare su "ExecAction" per il tipo ExecAction. Impostare su "HTTPGetAction" per il tipo HttpGetAction. Impostare su "TCPSocketAction" per il tipo TCPSocketAction. | 'ExecAction' 'HTTPGetAction' 'TCPSocketAction' (obbligatorio) |
Richieste di risorse
| Nome | Descrizione | Valore |
|---|---|---|
| CPU | CPU richiesta. 1 core può essere rappresentato da 1 o 1000 m. Deve essere 500m o 1 per il livello Basic e {500m, 1, 2, 3, 4} per il livello Standard. | corda |
| memoria | Memoria necessaria. 1 GB può essere rappresentato da 1Gi o 1024Mi. Deve essere {512Mi, 1Gi, 2Gi} per il livello Basic e {512Mi, 1Gi, 2Gi, ..., 8Gi} per il livello Standard. | corda |
Sku
| Nome | Descrizione | Valore |
|---|---|---|
| capacità | Capacità corrente della risorsa di destinazione | Int |
| nome | Nome dello SKU | corda |
| livello | Livello dello SKU | corda |
FonteCaricatoUserSourceInfo
| Nome | Descrizione | Valore |
|---|---|---|
| artefactSelector | Selettore per l'artefatto da usare per la distribuzione per i progetti multimodulo. Deve trattarsi di percorso relativo al modulo/progetto di destinazione. |
corda |
| Percorso relativo | Percorso relativo dell'archiviazione in cui è archiviata l'origine | corda |
| runtimeVersion | Versione di runtime del file di origine | corda |
| tipo | Tipo dell'origine caricata | 'Source' (obbligatorio) |
TCPSocketAction
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Tipo dell'azione da eseguire per eseguire il controllo di integrità. | 'TCPSocketAction' (obbligatorio) |
Informazioni Sorgente Utente
| Nome | Descrizione | Valore |
|---|---|---|
| tipo | Impostare su 'BuildResult' per il tipo BuildResultUserSourceInfo. Impostare su "Contenitore" per il tipo CustomContainerUserSourceInfo. Impostare su "Jar" per il tipo JarUploadedUserSourceInfo. Impostare su "NetCoreZip" per il tipo NetCoreZipUploadedUserSourceInfo. Impostare su 'Source' per il tipo SourceUploadedUserSourceInfo. | 'BuildResult' 'Contenitore' 'Barattolo' 'NetCoreZip' 'Source' (obbligatorio) |
| Versione | Versione dell'origine | corda |
Esempi di utilizzo
Esempi di Terraform
Un esempio di base di distribuzione di Spring Cloud Deployment.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "Spring" {
type = "Microsoft.AppPlatform/Spring@2023-05-01-preview"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
zoneRedundant = false
}
sku = {
name = "E0"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "app" {
type = "Microsoft.AppPlatform/Spring/apps@2023-05-01-preview"
parent_id = azapi_resource.Spring.id
name = var.resource_name
location = var.location
body = {
properties = {
customPersistentDisks = [
]
enableEndToEndTLS = false
public = false
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "deployment" {
type = "Microsoft.AppPlatform/Spring/apps/deployments@2023-05-01-preview"
parent_id = azapi_resource.app.id
name = var.resource_name
body = {
properties = {
deploymentSettings = {
environmentVariables = {
}
}
source = {
customContainer = {
args = [
]
command = [
]
containerImage = "springio/gs-spring-boot-docker"
languageFramework = ""
server = "docker.io"
}
type = "Container"
}
}
sku = {
capacity = 1
name = "E0"
tier = "Enterprise"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}