Plug-in Maven per Service Fabric Mesh
Importante
L'anteprima di Azure Service Fabric Mesh è stata ritirata. Le nuove distribuzioni non saranno più consentite tramite l'API Di Service Fabric Mesh. Il supporto per le distribuzioni esistenti continuerà fino al 28 aprile 2021.
Per informazioni dettagliate, vedere Ritiro dell'anteprima di Azure Service Fabric Mesh.
Prerequisiti
- SDK per Java
- Maven
- Interfaccia della riga di comando di Azure con estensione Mesh
- Interfaccia della riga di comando di Service Fabric
Obiettivi
azure-sfmesh:init
- Crea una cartella
servicefabric
che contiene una cartellaappresources
con il fileapplication.yaml
.
azure-sfmesh:addservice
- Crea una cartella all'interno della cartella
servicefabric
con il nome del servizio e crea il file YAML del servizio.
azure-sfmesh:addnetwork
- Genera un file YAML
network
con il nome di rete specificato nella cartellaappresources
azure-sfmesh:addgateway
- Genera un file YAML
gateway
con il nome di gateway specificato nella cartellaappresources
azure-sfmesh:addvolume
- Genera un
volume
FILE YAML con il nome del volume specificato nellaappresources
cartella .
azure-sfmesh:addsecret
- Genera un file YAML
secret
con il nome del segreto specificato nella cartellaappresources
azure-sfmesh:addsecretvalue
- Genera un file YAML
secretvalue
con il segreto e il nome del valore del segreto specificati nella cartellaappresources
azure-sfmesh:deploy
- Unisce i file YAML della cartella
servicefabric
e crea un file JSON del modello di Azure Resource Manager nella cartella corrente. - Distribuisce tutte le risorse nell'ambiente di Azure Service Fabric Mesh
azure-sfmesh:deploytocluster
- Crea una cartella (
meshDeploy
) che contiene i JSON di distribuzione generati da file YAML applicabili per i cluster di Service Fabric - Distribuisce tutte le risorse al cluster Service Fabric
Utilizzo
Per usare il plug-in Maven nell'app Java Maven, aggiungere il frammento di codice seguente al file pom.xml:
<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-sfmesh-maven-plugin</artifactId>
<version>0.1.0</version>
</plugin>
</plugins>
</build>
</project>
Configurazione comune
Il plug-in Maven attualmente non supporta le configurazioni comuni dei plug-in Maven per Azure.
Procedure
Inizializzare il progetto Maven per Azure Service Fabric Mesh
Eseguire il comando seguente per creare il file YAML delle risorse dell'applicazione.
mvn azure-sfmesh:init -DapplicationName=helloworldserver
- Crea una cartella denominata
servicefabric->appresources
nella cartella radice che contiene un file YAML di applicazione denominatoapp_helloworldserver
Aggiungere una risorsa all'applicazione
Aggiungere una nuova rete all'applicazione
Eseguire il comando seguente per creare un file YAML di risorse di rete.
mvn azure-sfmesh:addnetwork -DnetworkName=helloworldservicenetwork -DnetworkAddressPrefix=10.0.0.0/22
- Crea nella cartella
servicefabric->appresources
un file YAML di rete denominatonetwork_helloworldservicenetwork
Aggiungere un nuovo servizio all'applicazione
Eseguire il comando seguente per creare un file YAML di servizio.
mvn azure-sfmesh:addservice -DapplicationName=helloworldserver -DserviceName=helloworldservice -DimageName=helloworldserver:latest -DlistenerPort=8080 -DnetworkRef=helloworldservicenetwork
- Crea nella cartella
servicefabric->helloworldservice
un file YAML di servizio denominatoservice_helloworldservice
che fa riferimento ahelloworldservicenetwork
e all'apphelloworldserver
- Il servizio dovrebbe essere in ascolto sulla porta 8080
- Il servizio usa helloworldserver:latest come immagine del contenitore.
Aggiungere una nuova risorsa del gateway all'applicazione
Eseguire il comando seguente per creare un file YAML di risorse del gateway.
mvn azure-sfmesh:addgateway -DapplicationName=helloworldserver -DdestinationNetwork=helloworldservicenetwork -DgatewayName=helloworldgateway -DlistenerName=helloworldserviceListener -DserviceName=helloworldservice -DsourceNetwork=open -DtcpPort=80
- Crea nella cartella
servicefabric->appresources
un nuovo file YAML del gateway denominatogateway_helloworldgateway
- Fa riferimento a
helloworldservicelistener
come al listener del servizio in ascolto per le chiamate da questo gateway. Fa anche riferimento ahelloworldservice
come servizio, ahelloworldservicenetwork
come rete e ahelloworldserver
come applicazione. - Ascolta le richieste sulla porta 80
Aggiungere un nuovo volume all'applicazione
Eseguire il comando seguente per creare un file YAML di risorse di volume.
mvn azure-sfmesh:addvolume -DvolumeAccountKey=key -DvolumeAccountName=name -DvolumeName=vol1 -DvolumeShareName=share
- Crea nella cartella
servicefabric->appresources
un file YAML di volume denominatovolume_vol1
- Imposta le proprietà per i parametri richiesti,
volumeAccountKey
, evolumeShareName
come sopra - Per altre informazioni su come fare riferimento al volume creato, vedere l'articolo sulla distribuzione delle app usando il volume di File di Azure
Aggiungere una nuova risorsa di segreto all'applicazione
Eseguire il comando seguente per creare un file YAML di risorse di segreto.
mvn azure-sfmesh:addsecret -DsecretName=secret1
- Crea nella cartella
servicefabric->appresources
un file YAML di segreto denominatosecret_secret1
- Per altre informazioni su come fare riferimento al segreto creato, visitare l'articolo sulla gestione dei segreti
Aggiungere una nuova risorsa secretvalue all'applicazione
Eseguire il comando seguente per creare un file YAML di risorse secretvalue.
mvn azure-sfmesh:addsecretvalue -DsecretValue=someVal -DsecretValueName=secret1/v1
- Creare nella cartella
servicefabric->appresources
un file YAML secretvalue denominatosecretvalue_secret1_v1
Eseguire l'applicazione in locale
Con l'aiuto dell'obiettivo azure-sfmesh:deploytocluster
, è possibile eseguire l'applicazione in locale usando il comando seguente:
mvn azure-sfmesh:deploytocluster
Per impostazione predefinita questo obiettivo consente di distribuire risorse nel cluster locale. Se la distribuzione avviene nel cluster locale, si presume che sia presente e operativo un cluster di Service Fabric locale. Il cluster di Service Fabric locale per le risorse è attualmente supportato solo in Windows.
- Crea documenti JSON da file YAML applicabili per i cluster di Service Fabric
- Distribuisce quindi nell'endpoint del cluster
Distribuire l'applicazione in Azure Service Fabric Mesh
Con l'aiuto dell'obiettivo azure-sfmesh:deploy
, è possibile effettuare la distribuzione nell'ambiente Service Fabric Mesh eseguendo il comando riportato di seguito:
mvn azure-sfmesh:deploy -DresourceGroup=todoapprg -Dlocation=eastus
- Crea un gruppo di risorse denominato
todoapprg
se non esiste. - Crea un file JSON del modello di Azure Resource Manager con l'unione di file YAML.
- Distribuisce il JSON nell'ambiente di Azure Service Fabric Mesh.