Share via


Domande frequenti su Service Fabric Mesh

Importante

L'anteprima di Azure Service Fabric Mesh è stata ritirata. Le nuove distribuzioni non saranno più consentite tramite l'API Service Fabric Mesh. Il supporto per le distribuzioni esistenti continuerà fino al 28 aprile 2021.

Per informazioni dettagliate, vedere Ritiro di Azure Service Fabric Mesh anteprima.

Azure Service Fabric Mesh è un servizio completamente gestito che consente agli sviluppatori di distribuire applicazioni di microservizi senza dover gestire macchine virtuali, archiviazione o connettività di rete. Questo articolo include le risposte alle domande frequenti relative a questo servizio.

Come segnalare un problema o porre una domanda?

Per inviare domande, ottenere risposte dagli esperti Microsoft e segnalare problemi, usare il repository GitHub service-fabric-mesh-preview.

Quote e costi

Quanto costa partecipare all'anteprima?

Attualmente non sono previsti costi per la distribuzione di applicazioni o contenitori nell'anteprima Mesh. Controllare gli aggiornamenti in maggio per abilitare la fatturazione. Tuttavia, è consigliabile eliminare le risorse distribuite e non lasciarle in esecuzione, a meno che non si stia testando attivamente.

È previsto un limite di quota per il numero di core e la RAM?

Sì. Per ogni sottoscrizione sono previste le quote seguenti:

  • Numero di applicazioni: 5
  • Core per applicazione: 12
  • Totale RAM per applicazione: 48 GB
  • Punti finali rete e ingresso: 5
  • Volumi di Azure che è possibile collegare: 10
  • Numero di repliche di servizio: 3
  • Il contenitore maggiore che è possibile distribuire è limitato a 4 core e 16 GB di RAM.
  • È possibile allocare core parziali ai contenitori con incrementi di 0,5 core fino a un massimo di 6 core.

Per quanto tempo è possibile lasciare l'applicazione distribuita?

Al momento la durata di un'applicazione è stata limitata a due giorni. Lo scopo è di massimizzare l'utilizzo dei core disponibili allocati per l'anteprima. È quindi consentito eseguire solo una determinata distribuzione in modo continuativo per 48 ore. Dopo questo periodo la distribuzione viene arrestata.

In questo caso, è possibile convalidare l'arresto da parte del sistema eseguendo il comando az mesh app show nell'interfaccia della riga di comando di Azure e verificare se restituisce "status": "Failed", "statusDetails": "Stopped resource due to max lifetime policies for an application during preview. Delete the resource to continue."

Ad esempio:

az mesh app show --resource-group myResourceGroup --name helloWorldApp
{
  "debugParams": null,
  "description": "Service Fabric Mesh HelloWorld Application!",
  "diagnostics": null,
  "healthState": "Ok",
  "id": "/subscriptions/1134234-b756-4979-84re-09d671c0c345/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabricMesh/applications/helloWorldApp",
  "location": "eastus",
  "name": "helloWorldApp",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "serviceNames": [
    "helloWorldService"
  ],
  "services": null,
  "status": "Failed",
  "statusDetails": "Stopped resource due to max lifetime policies for an application during preview. Delete the resource to continue.",
  "tags": {},
  "type": "Microsoft.ServiceFabricMesh/applications",
  "unhealthyEvaluation": null
}

Per eliminare il gruppo di risorse, usare il comando az group delete <nameOfResourceGroup>.

Deployments

Quali immagini del contenitore sono supportate?

Se le attività di sviluppo vengono eseguite in un computer con Windows Fall Creators Update (versione 1709), è possibile usare solo le immagini Docker di Windows versione 1709.

Se le attività di sviluppo vengono eseguite in un computer Windows 10 con aggiornamento di aprile 2018 (versione 1803), è possibile usare le immagini Docker di Windows versione 1709 o di Windows versione 1803.

Per distribuire i servizi, possono essere usate le immagini del sistema operativo contenitore seguenti:

  • Windows: windowsservercore e nanoserver
    • Windows Server 1709
    • Windows Server 1803
    • Windows Server 1809
    • Windows Server 2019 LTSC
  • Linux
    • Nessuna limitazione nota

Nota

Visual Studio strumenti per Mesh non supporta ancora la distribuzione in contenitori Windows Server 2019 e 1809.

Quali tipi di applicazioni è possibile distribuire?

È possibile distribuire qualsiasi operazione eseguita nei contenitori che rientrano nelle restrizioni inserite in una risorsa dell'applicazione (vedere sopra per altre informazioni sulle quote). Se si rileva che si usa Mesh per l'esecuzione di carichi di lavoro illegali o l'uso di un abuso del sistema (ad esempio, data mining), si riserva il diritto di terminare le distribuzioni e bloccare l'esecuzione della sottoscrizione nel servizio. Contattare microsoft se si hanno domande sull'esecuzione di un carico di lavoro specifico.

Problemi relativi all'esperienza di sviluppatore

La risoluzione DNS da un contenitore non funziona

Le query DNS in uscita da un contenitore al servizio DNS di Service Fabric DNS potrebbero non riuscire in determinate circostanze. Il problema è in fase di analisi. Per attenuare il problema:

  • Usare Windows Fall Creators Update (versione 1709) o versione successiva come immagine del contenitore di base.
  • Se il nome del servizio da solo non funziona, provare il nome completo: ServiceName.ApplicationName.
  • Nel file Docker per il servizio aggiungere EXPOSE <port>, dove "port" indica la porta a cui si espone il servizio. Ad esempio:
EXPOSE 80

Il DNS non funziona nello stesso modo nei cluster di sviluppo di Service Fabric e in Mesh

Potrebbe essere necessario fare riferimento ai servizi in modo diverso nel cluster di sviluppo locale rispetto ad Azure Service Fabric Mesh.

Nel cluster di sviluppo locale usare {serviceName}.{applicationName}. In Azure Service Fabric Mesh usare {servicename}.

Azure Service Fabric Mesh attualmente non supporta la risoluzione DNS tra le applicazioni.

Per altri problemi DNS noti relativi all'esecuzione di un cluster di sviluppo Service Fabric in Windows 10, vedere Eseguire il debug di contenitori Windows e problemi DNS noti.

Rete

Il protocollo di rete NAT ServiceFabric può scomparire durante l'esecuzione dell'app nel computer locale. Per determinare se ciò è accaduto, eseguire questo comando al prompt dei comandi:

docker network ls e verificare se servicefabric_nat è elencato. Se non è elencato, eseguire questo comando: docker network create -d=nat --subnet 10.128.0.0/24 --gateway 10.128.0.1 servicefabric_nat

Il problema verrà risolto anche se l'app è già distribuita localmente in uno stato non integro.

Problemi durante l'esecuzione di più app

È possibile che sia necessario stabilire la disponibilità e i limiti della CPU tra tutte le applicazioni. Per attenuare il problema:

  • Creare un cluster di cinque nodi.
  • Ridurre l'uso della CPU nei servizi nell'app distribuita. Nel file service.yaml del servizio modificare cpu: 1.0 in cpu: 0.5

Più applicazioni non possono essere distribuite in un cluster con un solo nodo. Per attenuare il problema:

  • Usare un cluster con cinque nodi durante la distribuzione di più app in un cluster locale.
  • Rimuovere le app attualmente non in fase di test.

Visual Studio Tooling ha un supporto limitato per i contenitori di Windows

Lo strumento Visual Studio supporta solo la distribuzione di contenitori Windows con una versione del sistema operativo di base di Windows Server 1709 e 1803 oggi.

Lacune di funzionalità e altri problemi noti

Dopo la distribuzione dell'applicazione, la risorsa di rete associata non dispone di un indirizzo IP

Esiste un problema noto per cui l'indirizzo IP non è immediatamente disponibile. Controllare lo stato della risorsa di rete dopo qualche minuto per visualizzare l'indirizzo IP associato.

L'applicazione non riesce ad accedere alla risorsa di rete/volume corretta

Per essere in grado di accedere alla risorsa associata, nel modello applicativo usare l'ID di risorsa completo per le reti e i volumi. Di seguito viene indicato un esempio della guida introduttiva:

"networkRefs": [
    {
    "name":  "[resourceId('Microsoft.ServiceFabric/networks', 'SbzVotingNetwork')]" 
    }
]

Quando si aumenta il numero di istanze, tutti i contenitori risultano interessati, inclusi quelli in esecuzione

Si tratta di un bug di cui è in corso l'implementazione della correzione.

Passaggi successivi

Per altre informazioni su Service Fabric Mesh, vedere la panoramica.