Share via


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 cartella appresources con il file application.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 cartella appresources

azure-sfmesh:addgateway

  • Genera un file YAML gateway con il nome di gateway specificato nella cartella appresources

azure-sfmesh:addvolume

  • Genera un volume FILE YAML con il nome del volume specificato nella appresources cartella .

azure-sfmesh:addsecret

  • Genera un file YAML secret con il nome del segreto specificato nella cartella appresources

azure-sfmesh:addsecretvalue

  • Genera un file YAML secretvalue con il segreto e il nome del valore del segreto specificati nella cartella appresources

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 denominato app_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 denominato network_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 denominato service_helloworldservice che fa riferimento a helloworldservicenetwork e all'app helloworldserver
  • 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 denominato gateway_helloworldgateway
  • Fa riferimento a helloworldservicelistener come al listener del servizio in ascolto per le chiamate da questo gateway. Fa anche riferimento a helloworldservice come servizio, a helloworldservicenetwork come rete e a helloworldserver 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 denominato volume_vol1
  • Imposta le proprietà per i parametri richiesti, volumeAccountKey, e volumeShareName 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 denominato secret_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 denominato secretvalue_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.