Condividi tramite


Cluster Microsoft.ServiceFabric 2020-03-01

Definizione di risorsa Bicep

Il tipo di risorsa cluster può essere distribuito con operazioni destinate a:

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere Log delle modifiche.

Formato di risorsa

Per creare una risorsa Microsoft.ServiceFabric/clusters, aggiungere il bicep seguente al modello.

resource symbolicname 'Microsoft.ServiceFabric/clusters@2020-03-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  properties: {
    addOnFeatures: [
      'string'
    ]
    applicationTypeVersionsCleanupPolicy: {
      maxUnusedVersionsToKeep: int
    }
    azureActiveDirectory: {
      clientApplication: 'string'
      clusterApplication: 'string'
      tenantId: 'string'
    }
    certificate: {
      thumbprint: 'string'
      thumbprintSecondary: 'string'
      x509StoreName: 'string'
    }
    certificateCommonNames: {
      commonNames: [
        {
          certificateCommonName: 'string'
          certificateIssuerThumbprint: 'string'
        }
      ]
      x509StoreName: 'string'
    }
    clientCertificateCommonNames: [
      {
        certificateCommonName: 'string'
        certificateIssuerThumbprint: 'string'
        isAdmin: bool
      }
    ]
    clientCertificateThumbprints: [
      {
        certificateThumbprint: 'string'
        isAdmin: bool
      }
    ]
    clusterCodeVersion: 'string'
    diagnosticsStorageAccountConfig: {
      blobEndpoint: 'string'
      protectedAccountKeyName: 'string'
      protectedAccountKeyName2: 'string'
      queueEndpoint: 'string'
      storageAccountName: 'string'
      tableEndpoint: 'string'
    }
    eventStoreServiceEnabled: bool
    fabricSettings: [
      {
        name: 'string'
        parameters: [
          {
            name: 'string'
            value: 'string'
          }
        ]
      }
    ]
    managementEndpoint: 'string'
    nodeTypes: [
      {
        applicationPorts: {
          endPort: int
          startPort: int
        }
        capacities: {
          {customized property}: 'string'
        }
        clientConnectionEndpointPort: int
        durabilityLevel: 'string'
        ephemeralPorts: {
          endPort: int
          startPort: int
        }
        httpGatewayEndpointPort: int
        isPrimary: bool
        name: 'string'
        placementProperties: {
          {customized property}: 'string'
        }
        reverseProxyEndpointPort: int
        vmInstanceCount: int
      }
    ]
    reliabilityLevel: 'string'
    reverseProxyCertificate: {
      thumbprint: 'string'
      thumbprintSecondary: 'string'
      x509StoreName: 'string'
    }
    reverseProxyCertificateCommonNames: {
      commonNames: [
        {
          certificateCommonName: 'string'
          certificateIssuerThumbprint: 'string'
        }
      ]
      x509StoreName: 'string'
    }
    upgradeDescription: {
      deltaHealthPolicy: {
        applicationDeltaHealthPolicies: {
          {customized property}: {
            defaultServiceTypeDeltaHealthPolicy: {
              maxPercentDeltaUnhealthyServices: int
            }
            serviceTypeDeltaHealthPolicies: {
              {customized property}: {
                maxPercentDeltaUnhealthyServices: int
              }
            }
          }
        }
        maxPercentDeltaUnhealthyApplications: int
        maxPercentDeltaUnhealthyNodes: int
        maxPercentUpgradeDomainDeltaUnhealthyNodes: int
      }
      forceRestart: bool
      healthCheckRetryTimeout: 'string'
      healthCheckStableDuration: 'string'
      healthCheckWaitDuration: 'string'
      healthPolicy: {
        applicationHealthPolicies: {
          {customized property}: {
            defaultServiceTypeHealthPolicy: {
              maxPercentUnhealthyServices: int
            }
            serviceTypeHealthPolicies: {
              {customized property}: {
                maxPercentUnhealthyServices: int
              }
            }
          }
        }
        maxPercentUnhealthyApplications: int
        maxPercentUnhealthyNodes: int
      }
      upgradeDomainTimeout: 'string'
      upgradeReplicaSetCheckTimeout: 'string'
      upgradeTimeout: 'string'
    }
    upgradeMode: 'string'
    vmImage: 'string'
  }
}

Valori delle proprietà

clusters

Nome Descrizione valore
name Nome della risorsa stringa (obbligatorio)

Limite di caratteri: 4-23

Caratteri validi:
Lettere minuscole, numeri e trattini.

Deve iniziare con una lettera minuscola. Deve terminare con una lettera minuscola o un numero.
posizione Località delle risorse di Azure. stringa (obbligatorio)
tags Tag delle risorse di Azure. Dizionario di nomi e valori di tag. Vedere Tag nei modelli
properties Proprietà delle risorse cluster ClusterProperties

ClusterProperties

Nome Descrizione Valore
addOnFeatures Elenco di funzionalità del componente aggiuntivo da abilitare nel cluster. Matrice di stringhe contenente uno dei seguenti elementi:
'BackupRestoreService'
'DnsService'
'RepairManager'
'ResourceMonitorService'
applicationTypeVersionsCleanupPolicy Criteri usati per pulire le versioni inutilizzate. ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory Impostazioni di autenticazione di AAD del cluster. AzureActiveDirectory
certificato Certificato da usare per proteggere il cluster. Il certificato fornito verrà usato per la sicurezza da nodo a nodo all'interno del cluster, certificato SSL per l'endpoint di gestione del cluster e client amministratore predefinito. CertificateDescription
certificateCommonNames Descrive un elenco di certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonNames
clientCertificateCommonNames Elenco di certificati client a cui fa riferimento il nome comune autorizzato a gestire il cluster. ClientCertificateCommonName[]
clientCertificateThumbprints Elenco di certificati client a cui fa riferimento l'identificazione personale autorizzata a gestire il cluster. ClientCertificateThumbprint[]
clusterCodeVersion Versione di runtime di Service Fabric del cluster. Questa proprietà può essere impostata solo dall'utente quando upgradeMode è impostato su 'Manual'. Per ottenere l'elenco delle versioni di Service Fabric disponibili per i nuovi cluster, usare l'API ClusterVersion. Per ottenere l'elenco della versione disponibile per i cluster esistenti, usare availableClusterVersions. string
diagnosticsStorageAccountConfig Informazioni sull'account di archiviazione per l'archiviazione dei log di diagnostica di Service Fabric. DiagnosticsStorageAccountConfig
eventStoreServiceEnabled Indica se il servizio dell'archivio eventi è abilitato. bool
fabricSettings Elenco delle impostazioni dell'infrastruttura personalizzate per configurare il cluster. SettingsSectionDescription[]
managementEndpoint Endpoint di gestione HTTP del cluster. stringa (obbligatorio)
nodeTypes Elenco di tipi di nodo nel cluster. NodeTypeDescription[] (obbligatorio)
reliabilityLevel Il livello di affidabilità imposta le dimensioni del set di repliche dei servizi di sistema. Informazioni su ReliabilityLevel.

- Nessuno: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 1. Questa operazione deve essere usata solo per i cluster di test.
- Bronzo - Eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 3. Questa operazione deve essere usata solo per i cluster di test.
- Silver: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 5.
- Gold : eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 7.
- Platinum: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 9.
'Bronzo'
'Oro'
'Nessuno'
'Platinum'
'Silver'
reverseProxyCertificate Certificato del server usato dal proxy inverso. CertificateDescription
reverseProxyCertificateCommonNames Descrive un elenco di certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonNames
upgradeDescription Criterio da usare durante l'aggiornamento del cluster. ClusterUpgradePolicy
upgradeMode Modalità di aggiornamento del cluster quando è disponibile la nuova versione del runtime di Service Fabric.

- Automatico: il cluster verrà aggiornato automaticamente alla versione di runtime più recente di Service Fabric non appena è disponibile.
- Manuale: il cluster non verrà aggiornato automaticamente alla versione più recente del runtime di Service Fabric. Il cluster viene aggiornato impostando la proprietà clusterCodeVersion nella risorsa del cluster.
'Automatico'
'Manuale'
vmImage La macchina virtuale vm vmss è stata configurata con. È possibile usare nomi generici come Windows o Linux. string

ApplicationTypeVersionsCleanupPolicy

Nome Descrizione Valore
maxUnusedVersionsToKeep Numero di versioni inutilizzate per ogni tipo di applicazione da mantenere. int (obbligatorio)

Vincoli:
Valore minimo = 0

AzureActiveDirectory

Nome Descrizione Valore
clientApplication ID applicazione client di Azure active directory. string
clusterApplication ID applicazione del cluster di Azure Active Directory. string
TenantId ID tenant di Azure active directory. string

CertificateDescription

Nome Descrizione Valore
thumbprint Identificazione personale del certificato primario. stringa (obbligatoria)
identificazione personaleSecondario Identificazione personale del certificato secondario. string
x509StoreName Percorso dell'archivio certificati locale. 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'Non consentito'
'My'
'Radice'
'TrustedPeople'
'TrustedPublisher'

ServerCertificateCommonNames

Nome Descrizione Valore
commonNames Elenco dei certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonName[]
x509StoreName Percorso dell'archivio certificati locale. 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'Non consentito'
'My'
'Radice'
'TrustedPeople'
'TrustedPublisher'

ServerCertificateCommonName

Nome Descrizione Valore
certificateCommonName Nome comune del certificato del server. stringa (obbligatoria)
certificateIssuerThumbprint Identificazione personale dell'autorità di certificazione del certificato del server. stringa (obbligatoria)

ClientCertificateCommonName

Nome Descrizione Valore
certificateCommonName Nome comune del certificato client. stringa (obbligatoria)
certificateIssuerThumbprint Identificazione personale dell'autorità di certificazione del certificato client. stringa (obbligatoria)
isAdmin Indica se il certificato client ha accesso amministratore al cluster. I client non amministratori possono eseguire solo operazioni di sola lettura nel cluster. bool (obbligatorio)

ClientCertificateThumbprint

Nome Descrizione Valore
certificateThumbprint Identificazione personale del certificato client. stringa (obbligatoria)
isAdmin Indica se il certificato client ha accesso amministratore al cluster. I client non amministratori possono eseguire solo operazioni di sola lettura nel cluster. bool (obbligatorio)

DiagnosticaStorageAccountConfig

Nome Descrizione Valore
BLOBEndpoint Endpoint BLOB dell'account di archiviazione di Azure. stringa (obbligatoria)
protectedAccountKeyName Nome della chiave di archiviazione di diagnostica protetta. stringa (obbligatoria)
protectedAccountKeyName2 Nome della chiave di archiviazione della chiave di archiviazione protetta secondaria. Se una delle chiavi dell'account di archiviazione viene ruotata, il cluster eseguirà il fallback all'uso dell'altro. string
queueEndpoint Endpoint della coda dell'account di archiviazione di Azure. stringa (obbligatoria)
storageAccountName Il nome dell'account di archiviazione di Azure. stringa (obbligatoria)
tableEndpoint Endpoint della tabella dell'account di archiviazione di Azure. stringa (obbligatoria)

ImpostazioniSectionDescription

Nome Descrizione valore
name Nome della sezione delle impostazioni dell'infrastruttura. stringa (obbligatoria)
parametri Raccolta di parametri nella sezione . ImpostazioniParameterDescription[] (obbligatorio)

ImpostazioniParameterDescription

Nome Descrizione valore
name Nome del parametro dell'impostazione dell'infrastruttura. stringa (obbligatoria)
Valore Valore del parametro dell'impostazione dell'infrastruttura. stringa (obbligatoria)

NodeTypeDescription

Nome Descrizione Valore
applicationPorts Intervallo di porte da cui il cluster assegnato la porta alle applicazioni di Service Fabric. EndpointRangeDescription
capacities I tag di capacità applicati ai nodi nel tipo di nodo, gestione risorse cluster usa questi tag per comprendere la quantità di risorse di un nodo. NodeTypeDescriptionCapacities
clientConnectionEndpointPort Porta dell'endpoint di gestione del cluster TCP. int (obbligatorio)
durabilitàLevel Livello di durabilità del tipo di nodo. Informazioni su DurabilitàLevel.

- Bronzo - Nessun privilegio. Questo è il valore predefinito.
- Silver: i processi di infrastruttura possono essere sospesi per una durata di 10 minuti per UD.
- Gold : i posti di lavoro dell'infrastruttura possono essere sospesi per una durata di 2 ore per UD. La durata Gold può essere abilitata solo per gli SKU VM con tutti i nodi come D15_V2, G5 e così via.
'Bronzo'
'Oro'
'Silver'
ephemeralPorts L'intervallo di porte temporanee con cui i nodi di questo tipo di nodo devono essere configurati. EndpointRangeDescription
httpGatewayEndpointPort Porta dell'endpoint di gestione del cluster HTTP. int (obbligatorio)
isPrimary Tipo di nodo in cui verranno eseguiti i servizi di sistema. Solo un tipo di nodo deve essere contrassegnato come primario. Non è possibile eliminare o modificare il tipo di nodo primario per i cluster esistenti. bool (obbligatorio)
name Nome del tipo di nodo. stringa (obbligatorio)
placementProperties Tag di posizionamento applicati ai nodi nel tipo di nodo, che possono essere usati per indicare dove devono essere eseguiti determinati servizi (carico di lavoro). NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort Endpoint usato dal proxy inverso. INT
vmInstanceCount Numero di nodi nel tipo di nodo. Questo conteggio deve corrispondere alla proprietà capacity nella risorsa VirtualMachineScaleSet corrispondente. int (obbligatorio)

Vincoli:
Valore minimo = 1
Valore massimo = 2147483647

EndpointRangeDescription

Nome Descrizione Valore
endPort Porta finale di un intervallo di porte int (obbligatorio)
startPort Avvio della porta di un intervallo di porte int (obbligatorio)

NodeTypeDescriptionCapacities

Nome Descrizione Valore
{proprietà personalizzata} string

NodeTypeDescriptionPlacementProperties

Nome Descrizione Valore
{proprietà personalizzata} string

ClusterUpgradePolicy

Nome Descrizione Valore
deltaHealthPolicy Criteri di integrità differenziale del cluster usati per l'aggiornamento del cluster. ClusterUpgradeDeltaHealthPolicy
forceRestart Se true, i processi vengono riavviati forzatamente durante l'aggiornamento anche quando la versione del codice non è stata modificata (l'aggiornamento modifica solo la configurazione o i dati). bool
healthCheckRetryTimeout Tempo di ripetizione della valutazione dell'integrità quando l'applicazione o il cluster non è integro prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)
healthCheckStableDuration Tempo di attesa per cui l'applicazione o il cluster devono rimanere integri prima di passare al dominio di aggiornamento successivo. La durata può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)
healthCheckWaitDuration Intervallo di tempo di attesa dopo il completamento di un dominio di aggiornamento prima di eseguire i controlli di integrità. La durata può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)
healthPolicy Criteri di integrità del cluster usati durante l'aggiornamento del cluster. ClusterHealthPolicy (obbligatorio)
upgradeDomainTimeout Tempo necessario per il completamento di ogni dominio di aggiornamento prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)
upgradeReplicaSetCheckTimeout Tempo massimo per bloccare l'elaborazione di un dominio di aggiornamento ed evitare la perdita di disponibilità quando si verificano problemi imprevisti. Quando il timeout scade, l'elaborazione del dominio di aggiornamento procede indipendentemente dai problemi di perdita di disponibilità. Il timeout viene reimpostato all'inizio di ogni dominio di aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)
upgradeTimeout Tempo necessario per il completamento dell'aggiornamento complessivo prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)

ClusterUpgradeDeltaHealthPolicy

Nome Descrizione Valore
applicationDeltaHealthPolicies Definisce la mappa dei criteri di integrità differenziale dell'applicazione usata per valutare l'integrità di un'applicazione o di una delle relative entità figlio durante l'aggiornamento del cluster. ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications Percentuale massima consentita di riduzione dell'integrità delle applicazioni consentita durante gli aggiornamenti del cluster.
Il delta viene misurato tra lo stato delle applicazioni all'inizio dell'aggiornamento e lo stato delle applicazioni al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza. I servizi di sistema non sono inclusi in questo.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentDeltaUnhealthyNodes Percentuale massima di riduzione dell'integrità dei nodi consentita durante gli aggiornamenti del cluster.
Il valore delta è misurato tra lo stato dei nodi e all'inizio dell'aggiornamento e lo stato dei nodi al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes Percentuale massima di riduzione dell'integrità dei nodi del dominio di aggiornamento consentita durante gli aggiornamenti del cluster.
Il valore delta è misurato tra lo stato dei nodi di dominio all'inizio dell'aggiornamento e lo stato dei nodi di dominio al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per tutti i domini di aggiornamento completati per assicurarsi che lo stato complessivo dei domini di aggiornamento rientri nei limiti di tolleranza.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100

ApplicationDeltaHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

Nome Descrizione Valore
defaultServiceTypeDeltaHealthPolicy Criteri di integrità differenziale usati per impostazione predefinita per valutare l'integrità di un tipo di servizio durante l'aggiornamento del cluster. ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies Mappa con i criteri di integrità differenziali del tipo di servizio per nome del tipo di servizio. Per impostazione predefinita la mappa è vuota. ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

Nome Descrizione Valore
maxPercentDeltaUnhealthyServices Percentuale massima consentita di riduzione dell'integrità dei servizi consentita durante gli aggiornamenti del cluster.
Il delta viene misurato tra lo stato dei servizi all'inizio dell'aggiornamento e lo stato dei servizi al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ServiceTypeDeltaHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

Nome Descrizione Valore
applicationHealthPolicies Definisce la mappa dei criteri di integrità dell'applicazione usata per valutare l'integrità di un'applicazione o di una delle relative entità figlio. ApplicationHealthPolicyMap
maxPercentUnhealthyApplications Percentuale massima consentita di applicazioni non integre prima che venga segnalato un errore. Ad esempio, per consentire il 10% di applicazioni non integre, questo valore deve corrispondere a 10.

La percentuale rappresenta la percentuale massima tollerata di applicazioni che possono risultare non integre prima che per il cluster venga impostato lo stato Error.
Se la percentuale viene rispettata ma esiste almeno un'applicazione non integra, l'integrità viene valutata come Avviso.
Questa viene calcolata dividendo il numero di applicazioni non integre rispetto al numero totale di istanze dell'applicazione nel cluster, escluse le applicazioni di tipi inclusi nel parametro ApplicationTypeHealthPolicyMap.
Il calcolo viene arrotondato per eccesso per tollerare un errore su un numero limitato di applicazioni. La percentuale predefinita è zero.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentUnhealthyNodes Percentuale massima consentita di nodi non integri prima che venga segnalato un errore. Ad esempio, per consentire il 10% di nodi non integri, questo valore deve corrispondere a 10.

La percentuale rappresenta la percentuale massima tollerata di nodi che possono risultare non integri prima che per il cluster venga impostato lo stato Error.
Se la percentuale viene rispettata ma esiste almeno un nodo non integro, l'integrità viene valutata come Avviso.
Tale percentuale viene calcolata dividendo il numero dei nodi non integri per il numero totale di nodi nel cluster.
Il calcolo viene arrotondato per eccesso per tollerare un errore su un numero limitato di nodi. La percentuale predefinita è zero.

Questa percentuale dovrà essere configurata in modo da tenere conto del fatto che in cluster di grandi dimensioni sono sempre presenti nodi inattivi o in fase di riparazione.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ApplicationHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ApplicationHealthPolicy

ApplicationHealthPolicy

Nome Descrizione Valore
defaultServiceTypeHealthPolicy Criteri di integrità usati per impostazione predefinita per valutare l'integrità di un tipo di servizio. ServiceTypeHealthPolicy
serviceTypeHealthPolicies Mappa con i criteri di integrità del tipo di servizio per nome del tipo di servizio. Per impostazione predefinita la mappa è vuota. ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

Nome Descrizione Valore
maxPercentUnhealthyServices Percentuale massima di servizi consentiti per essere non integri prima che l'applicazione venga considerata in errore. INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ServiceTypeHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ServiceTypeHealthPolicy

Modelli di avvio rapido

I modelli di avvio rapido seguenti distribuiscono questo tipo di risorsa.

Modello Descrizione
Distribuire un cluster Ubuntu Service Fabric a 5 nodi

Distribuisci in Azure
Questo modello consente di distribuire un cluster di Service Fabric a 5 nodi sicuro che esegue Ubuntu in una macchina virtuale di dimensioni Standard_D2_V2.
Distribuire un cluster sicuro di 5 nodi

Distribuisci in Azure
Questo modello consente di distribuire un cluster di Service Fabric a 5 nodi sicuro che esegue Windows Server 2019 Datacenter in una macchina virtuale di dimensioni Standard_D2_v2.
Distribuire un cluster sicuro 3 nodetype con gruppi di sicurezza di rete abilitati

Distribuisci in Azure
Questo modello consente di distribuire un cluster di Service Fabric di tipo nodetype sicuro che esegue Windows server 2016 Data center in una macchina virtuale di dimensioni Standard_D2. Usare questo modello consente di controllare il traffico di rete in ingresso e in uscita usando i gruppi di sicurezza di rete.

Definizione della risorsa modello di Resource Manager

Il tipo di risorsa cluster può essere distribuito con operazioni destinate:

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato di risorsa

Per creare una risorsa Microsoft.ServiceFabric/clusters, aggiungere il codice JSON seguente al modello.

{
  "type": "Microsoft.ServiceFabric/clusters",
  "apiVersion": "2020-03-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "addOnFeatures": [ "string" ],
    "applicationTypeVersionsCleanupPolicy": {
      "maxUnusedVersionsToKeep": "int"
    },
    "azureActiveDirectory": {
      "clientApplication": "string",
      "clusterApplication": "string",
      "tenantId": "string"
    },
    "certificate": {
      "thumbprint": "string",
      "thumbprintSecondary": "string",
      "x509StoreName": "string"
    },
    "certificateCommonNames": {
      "commonNames": [
        {
          "certificateCommonName": "string",
          "certificateIssuerThumbprint": "string"
        }
      ],
      "x509StoreName": "string"
    },
    "clientCertificateCommonNames": [
      {
        "certificateCommonName": "string",
        "certificateIssuerThumbprint": "string",
        "isAdmin": "bool"
      }
    ],
    "clientCertificateThumbprints": [
      {
        "certificateThumbprint": "string",
        "isAdmin": "bool"
      }
    ],
    "clusterCodeVersion": "string",
    "diagnosticsStorageAccountConfig": {
      "blobEndpoint": "string",
      "protectedAccountKeyName": "string",
      "protectedAccountKeyName2": "string",
      "queueEndpoint": "string",
      "storageAccountName": "string",
      "tableEndpoint": "string"
    },
    "eventStoreServiceEnabled": "bool",
    "fabricSettings": [
      {
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "value": "string"
          }
        ]
      }
    ],
    "managementEndpoint": "string",
    "nodeTypes": [
      {
        "applicationPorts": {
          "endPort": "int",
          "startPort": "int"
        },
        "capacities": {
          "{customized property}": "string"
        },
        "clientConnectionEndpointPort": "int",
        "durabilityLevel": "string",
        "ephemeralPorts": {
          "endPort": "int",
          "startPort": "int"
        },
        "httpGatewayEndpointPort": "int",
        "isPrimary": "bool",
        "name": "string",
        "placementProperties": {
          "{customized property}": "string"
        },
        "reverseProxyEndpointPort": "int",
        "vmInstanceCount": "int"
      }
    ],
    "reliabilityLevel": "string",
    "reverseProxyCertificate": {
      "thumbprint": "string",
      "thumbprintSecondary": "string",
      "x509StoreName": "string"
    },
    "reverseProxyCertificateCommonNames": {
      "commonNames": [
        {
          "certificateCommonName": "string",
          "certificateIssuerThumbprint": "string"
        }
      ],
      "x509StoreName": "string"
    },
    "upgradeDescription": {
      "deltaHealthPolicy": {
        "applicationDeltaHealthPolicies": {
          "{customized property}": {
            "defaultServiceTypeDeltaHealthPolicy": {
              "maxPercentDeltaUnhealthyServices": "int"
            },
            "serviceTypeDeltaHealthPolicies": {
              "{customized property}": {
                "maxPercentDeltaUnhealthyServices": "int"
              }
            }
          }
        },
        "maxPercentDeltaUnhealthyApplications": "int",
        "maxPercentDeltaUnhealthyNodes": "int",
        "maxPercentUpgradeDomainDeltaUnhealthyNodes": "int"
      },
      "forceRestart": "bool",
      "healthCheckRetryTimeout": "string",
      "healthCheckStableDuration": "string",
      "healthCheckWaitDuration": "string",
      "healthPolicy": {
        "applicationHealthPolicies": {
          "{customized property}": {
            "defaultServiceTypeHealthPolicy": {
              "maxPercentUnhealthyServices": "int"
            },
            "serviceTypeHealthPolicies": {
              "{customized property}": {
                "maxPercentUnhealthyServices": "int"
              }
            }
          }
        },
        "maxPercentUnhealthyApplications": "int",
        "maxPercentUnhealthyNodes": "int"
      },
      "upgradeDomainTimeout": "string",
      "upgradeReplicaSetCheckTimeout": "string",
      "upgradeTimeout": "string"
    },
    "upgradeMode": "string",
    "vmImage": "string"
  }
}

Valori delle proprietà

clusters

Nome Descrizione Valore
tipo Tipo di risorsa 'Microsoft.ServiceFabric/clusters'
apiVersion Versione dell'API risorsa '2020-03-01'
name Nome della risorsa stringa (obbligatoria)

Limite di caratteri: 4-23

Caratteri validi:
Lettere minuscole, numeri e trattini.

Deve iniziare con una lettera minuscola. Deve terminare con una lettera minuscola o un numero.
posizione Posizione delle risorse di Azure. stringa (obbligatoria)
tags Tag delle risorse di Azure. Dizionario dei nomi e dei valori dei tag. Vedere Tag nei modelli
properties Proprietà della risorsa del cluster ClusterProperties

ClusterProperties

Nome Descrizione Valore
addOnFeatures Elenco delle funzionalità del componente aggiuntivo da abilitare nel cluster. Matrice di stringhe contenente uno qualsiasi di:
'BackupRestoreService'
'DnsService'
'RepairManager'
'ResourceMonitorService'
applicationTypeVersionsCleanupPolicy Criterio usato per pulire le versioni inutilizzate. ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory Impostazioni di autenticazione AAD del cluster. AzureActiveDirectory
certificato Certificato da usare per proteggere il cluster. Il certificato fornito verrà usato per la sicurezza del nodo a nodo all'interno del cluster, il certificato SSL per l'endpoint di gestione del cluster e il client amministratore predefinito. CertificateDescription
certificateCommonNames Descrive un elenco di certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonNames
clientCertificateCommonNames Elenco dei certificati client a cui fa riferimento il nome comune che è consentito gestire il cluster. ClientCertificateCommonName[]
clientCertificateThumbprints Elenco dei certificati client a cui fa riferimento l'identificazione personale consentita per gestire il cluster. ClientCertificateThumbprint[]
clusterCodeVersion Versione del runtime di Service Fabric del cluster. Questa proprietà può essere impostata solo dall'utente quando upgradeMode è impostato su 'Manual'. Per ottenere l'elenco delle versioni di Service Fabric disponibili per i nuovi cluster, usare l'API ClusterVersion. Per ottenere l'elenco della versione disponibile per i cluster esistenti, usare availableClusterVersions. string
diagnosticsStorageAccountConfig Informazioni sull'account di archiviazione per l'archiviazione dei log di diagnostica di Service Fabric. DiagnosticaStorageAccountConfig
eventStoreServiceEnabled Indica se il servizio dell'archivio eventi è abilitato. bool
fabricSettings Elenco delle impostazioni di infrastruttura personalizzate per configurare il cluster. ImpostazioniSectionDescription[]
managementEndpoint Endpoint di gestione http del cluster. stringa (obbligatoria)
nodeTypes Elenco dei tipi di nodo nel cluster. NodeTypeDescription[] (obbligatorio)
reliabilityLevel Il livello di affidabilità imposta le dimensioni del set di repliche dei servizi di sistema. Informazioni su ReliabilityLevel.

- Nessuno: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 1. Questa operazione deve essere usata solo per i cluster di test.
- Bronzo - Eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 3. Questa operazione deve essere usata solo per i cluster di test.
- Silver: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 5.
- Gold : eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 7.
- Platinum: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 9.
'Bronzo'
'Oro'
'Nessuno'
'Platinum'
'Silver'
reverseProxyCertificate Certificato del server usato dal proxy inverso. CertificateDescription
reverseProxyCertificateCommonNames Descrive un elenco di certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonNames
upgradeDescription Criterio da usare durante l'aggiornamento del cluster. ClusterUpgradePolicy
upgradeMode Modalità di aggiornamento del cluster quando è disponibile la nuova versione del runtime di Service Fabric.

- Automatico: il cluster verrà aggiornato automaticamente alla versione di runtime più recente di Service Fabric non appena è disponibile.
- Manuale: il cluster non verrà aggiornato automaticamente alla versione più recente del runtime di Service Fabric. Il cluster viene aggiornato impostando la proprietà clusterCodeVersion nella risorsa del cluster.
'Automatico'
'Manuale'
vmImage La macchina virtuale vm vmss è stata configurata con. È possibile usare nomi generici come Windows o Linux. string

ApplicationTypeVersionsCleanupPolicy

Nome Descrizione Valore
maxUnusedVersionsToKeep Numero di versioni inutilizzate per ogni tipo di applicazione da mantenere. int (obbligatorio)

Vincoli:
Valore minimo = 0

AzureActiveDirectory

Nome Descrizione Valore
clientApplication ID applicazione client di Azure active directory. string
clusterApplication ID applicazione del cluster di Azure Active Directory. string
TenantId ID tenant di Azure active directory. string

CertificateDescription

Nome Descrizione Valore
thumbprint Identificazione personale del certificato primario. stringa (obbligatoria)
identificazione personaleSecondario Identificazione personale del certificato secondario. string
x509StoreName Percorso dell'archivio certificati locale. 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'Non consentito'
'My'
'Radice'
'TrustedPeople'
'TrustedPublisher'

ServerCertificateCommonNames

Nome Descrizione Valore
commonNames Elenco dei certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonName[]
x509StoreName Percorso dell'archivio certificati locale. 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'Non consentito'
'My'
'Radice'
'TrustedPeople'
'TrustedPublisher'

ServerCertificateCommonName

Nome Descrizione Valore
certificateCommonName Nome comune del certificato del server. stringa (obbligatoria)
certificateIssuerThumbprint Identificazione personale dell'autorità di certificazione del certificato del server. stringa (obbligatoria)

ClientCertificateCommonName

Nome Descrizione Valore
certificateCommonName Nome comune del certificato client. stringa (obbligatoria)
certificateIssuerThumbprint Identificazione personale dell'autorità di certificazione del certificato client. stringa (obbligatoria)
isAdmin Indica se il certificato client ha accesso amministratore al cluster. I client non amministratori possono eseguire solo operazioni di sola lettura nel cluster. bool (obbligatorio)

ClientCertificateThumbprint

Nome Descrizione Valore
certificateThumbprint Identificazione personale del certificato client. stringa (obbligatoria)
isAdmin Indica se il certificato client ha accesso amministratore al cluster. I client non amministratori possono eseguire solo operazioni di sola lettura nel cluster. bool (obbligatorio)

DiagnosticaStorageAccountConfig

Nome Descrizione Valore
BLOBEndpoint Endpoint BLOB dell'account di archiviazione di Azure. stringa (obbligatoria)
protectedAccountKeyName Nome della chiave di archiviazione di diagnostica protetta. stringa (obbligatoria)
protectedAccountKeyName2 Nome della chiave di archiviazione della chiave di archiviazione protetta secondaria. Se una delle chiavi dell'account di archiviazione viene ruotata, il cluster eseguirà il fallback all'uso dell'altro. string
queueEndpoint Endpoint della coda dell'account di archiviazione di Azure. stringa (obbligatoria)
storageAccountName Il nome dell'account di archiviazione di Azure. stringa (obbligatoria)
tableEndpoint Endpoint della tabella dell'account di archiviazione di Azure. stringa (obbligatoria)

ImpostazioniSectionDescription

Nome Descrizione valore
name Nome della sezione delle impostazioni dell'infrastruttura. stringa (obbligatoria)
parametri Raccolta di parametri nella sezione . ImpostazioniParameterDescription[] (obbligatorio)

ImpostazioniParameterDescription

Nome Descrizione valore
name Nome del parametro dell'impostazione dell'infrastruttura. stringa (obbligatoria)
Valore Valore del parametro dell'impostazione dell'infrastruttura. stringa (obbligatoria)

NodeTypeDescription

Nome Descrizione Valore
applicationPorts Intervallo di porte da cui il cluster assegnato la porta alle applicazioni di Service Fabric. EndpointRangeDescription
capacities I tag di capacità applicati ai nodi nel tipo di nodo, gestione risorse cluster usa questi tag per comprendere la quantità di risorse di un nodo. NodeTypeDescriptionCapacities
clientConnectionEndpointPort Porta dell'endpoint di gestione del cluster TCP. int (obbligatorio)
durabilitàLevel Livello di durabilità del tipo di nodo. Informazioni su DurabilitàLevel.

- Bronzo - Nessun privilegio. Questo è il valore predefinito.
- Silver: i processi di infrastruttura possono essere sospesi per una durata di 10 minuti per UD.
- Gold : i posti di lavoro dell'infrastruttura possono essere sospesi per una durata di 2 ore per UD. La durata Gold può essere abilitata solo per gli SKU VM con tutti i nodi come D15_V2, G5 e così via.
'Bronzo'
'Oro'
'Silver'
ephemeralPorts L'intervallo di porte temporanee con cui i nodi di questo tipo di nodo devono essere configurati. EndpointRangeDescription
httpGatewayEndpointPort Porta dell'endpoint di gestione del cluster HTTP. int (obbligatorio)
isPrimary Tipo di nodo in cui verranno eseguiti i servizi di sistema. È necessario contrassegnare un solo tipo di nodo come primario. Il tipo di nodo primario non può essere eliminato o modificato per i cluster esistenti. bool (obbligatorio)
name Nome del tipo di nodo. stringa (obbligatoria)
placementProperties I tag di posizionamento applicati ai nodi nel tipo di nodo, che possono essere usati per indicare dove devono essere eseguiti determinati servizi (carico di lavoro). NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort Endpoint usato dal proxy inverso. INT
vmInstanceCount Numero di nodi nel tipo di nodo. Questo conteggio deve corrispondere alla proprietà di capacità nella risorsa VirtualMachineScaleSet corrispondente. int (obbligatorio)

Vincoli:
Valore minimo = 1
Valore massimo = 2147483647

EndpointRangeDescription

Nome Descrizione Valore
endPort Porta finale di un intervallo di porte int (obbligatorio)
startPort Avvio della porta di un intervallo di porte int (obbligatorio)

NodeTypeDescriptionCapacities

Nome Descrizione Valore
{proprietà personalizzata} string

NodeTypeDescriptionPlacementProperties

Nome Descrizione Valore
{proprietà personalizzata} string

ClusterUpgradePolicy

Nome Descrizione Valore
deltaHealthPolicy I criteri di integrità differenziale del cluster usati durante l'aggiornamento del cluster. ClusterUpgradeDeltaHealthPolicy
forceRestart Se true, i processi vengono riavviati forzatamente durante l'aggiornamento anche quando la versione del codice non è stata modificata (l'aggiornamento modifica solo la configurazione o i dati). bool
healthCheckRetryTimeout Tempo di ripetizione della valutazione dell'integrità quando l'applicazione o il cluster non è integro prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)
healthCheckStableDuration Tempo di attesa per cui l'applicazione o il cluster devono rimanere integri prima di passare al dominio di aggiornamento successivo. La durata può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)
healthCheckWaitDuration Tempo di attesa dopo il completamento di un dominio di aggiornamento prima di eseguire controlli di integrità. La durata può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)
healthPolicy I criteri di integrità del cluster usati durante l'aggiornamento del cluster. ClusterHealthPolicy (obbligatorio)
upgradeDomainTimeout Il tempo necessario per completare ogni dominio di aggiornamento prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)
upgradeReplicaSetCheckTimeout Tempo massimo per bloccare l'elaborazione di un dominio di aggiornamento ed evitare la perdita di disponibilità quando si verificano problemi imprevisti. Quando il timeout scade, l'elaborazione del dominio di aggiornamento procede indipendentemente dai problemi di perdita di disponibilità. Il timeout viene reimpostato all'inizio di ogni dominio di aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)
upgradeTimeout Il tempo necessario per completare l'aggiornamento complessivo prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)

ClusterUpgradeDeltaHealthPolicy

Nome Descrizione Valore
applicationDeltaHealthPolicies Definisce la mappa dei criteri di integrità differenziale dell'applicazione usata per valutare l'integrità di un'applicazione o una delle relative entità figlio durante l'aggiornamento del cluster. ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications Percentuale massima consentita di riduzione dell'integrità delle applicazioni consentita durante gli aggiornamenti del cluster.
Il delta viene misurato tra lo stato delle applicazioni all'inizio dell'aggiornamento e lo stato delle applicazioni al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza. I servizi di sistema non sono inclusi in questo.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentDeltaUnhealthyNodes Percentuale massima di riduzione dell'integrità dei nodi consentita durante gli aggiornamenti del cluster.
Il valore delta è misurato tra lo stato dei nodi e all'inizio dell'aggiornamento e lo stato dei nodi al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes Percentuale massima di riduzione dell'integrità dei nodi del dominio di aggiornamento consentita durante gli aggiornamenti del cluster.
Il valore delta è misurato tra lo stato dei nodi di dominio all'inizio dell'aggiornamento e lo stato dei nodi di dominio al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per tutti i domini di aggiornamento completati per assicurarsi che lo stato complessivo dei domini di aggiornamento rientri nei limiti di tolleranza.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100

ApplicationDeltaHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

Nome Descrizione Valore
defaultServiceTypeDeltaHealthPolicy I criteri di integrità delta usati per impostazione predefinita per valutare l'integrità di un tipo di servizio durante l'aggiornamento del cluster. ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies Mappa con i criteri di integrità delta del tipo di servizio per nome del tipo di servizio. Per impostazione predefinita la mappa è vuota. ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

Nome Descrizione Valore
maxPercentDeltaUnhealthyServices Percentuale massima consentita di riduzione dell'integrità dei servizi consentita durante gli aggiornamenti del cluster.
Il delta viene misurato tra lo stato dei servizi all'inizio dell'aggiornamento e lo stato dei servizi al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ServiceTypeDeltaHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

Nome Descrizione Valore
applicationHealthPolicies Definisce la mappa dei criteri di integrità dell'applicazione usata per valutare l'integrità di un'applicazione o una delle relative entità figlio. ApplicationHealthPolicyMap
maxPercentUnhealthyApplications Percentuale massima consentita di applicazioni non integre prima che venga segnalato un errore. Ad esempio, per consentire il 10% di applicazioni non integre, questo valore deve corrispondere a 10.

La percentuale rappresenta la percentuale massima tollerata di applicazioni che possono risultare non integre prima che per il cluster venga impostato lo stato Error.
Se la percentuale viene rispettata ma esiste almeno un'applicazione non integra, l'integrità viene valutata come Avviso.
Questa viene calcolata dividendo il numero di applicazioni non integre rispetto al numero totale di istanze dell'applicazione nel cluster, escluse le applicazioni di tipi inclusi nel parametro ApplicationTypeHealthPolicyMap.
Il calcolo viene arrotondato per eccesso per tollerare un errore su un numero limitato di applicazioni. La percentuale predefinita è zero.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentUnhealthyNodes Percentuale massima consentita di nodi non integri prima che venga segnalato un errore. Ad esempio, per consentire il 10% di nodi non integri, questo valore deve corrispondere a 10.

La percentuale rappresenta la percentuale massima tollerata di nodi che possono risultare non integri prima che per il cluster venga impostato lo stato Error.
Se la percentuale viene rispettata ma esiste almeno un nodo non integro, l'integrità viene valutata come Avviso.
Tale percentuale viene calcolata dividendo il numero dei nodi non integri per il numero totale di nodi nel cluster.
Il calcolo viene arrotondato per eccesso per tollerare un errore su un numero limitato di nodi. La percentuale predefinita è zero.

Questa percentuale dovrà essere configurata in modo da tenere conto del fatto che in cluster di grandi dimensioni sono sempre presenti nodi inattivi o in fase di riparazione.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ApplicationHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ApplicationHealthPolicy

ApplicationHealthPolicy

Nome Descrizione Valore
defaultServiceTypeHealthPolicy Criteri di integrità usati per impostazione predefinita per valutare l'integrità di un tipo di servizio. ServiceTypeHealthPolicy
serviceTypeHealthPolicies Mappa con criteri di integrità dei tipi di servizio per nome del tipo di servizio. Per impostazione predefinita la mappa è vuota. ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

Nome Descrizione Valore
maxPercentUnhealthyServices Percentuale massima di servizi consentiti per essere non integri prima che l'applicazione venga considerata in errore. INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ServiceTypeHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ServiceTypeHealthPolicy

Modelli di avvio rapido

I modelli di avvio rapido seguenti distribuiscono questo tipo di risorsa.

Modello Descrizione
Distribuire un cluster Ubuntu Service Fabric a 5 nodi

Distribuisci in Azure
Questo modello consente di distribuire un cluster di Service Fabric a 5 nodi sicuro che esegue Ubuntu in una macchina virtuale di dimensioni Standard_D2_V2.
Distribuire un cluster sicuro di 5 nodi

Distribuisci in Azure
Questo modello consente di distribuire un cluster di Service Fabric a 5 nodi sicuro che esegue Windows Server 2019 Datacenter in una macchina virtuale di dimensioni Standard_D2_v2.
Distribuire un cluster sicuro 3 nodetype con gruppi di sicurezza di rete abilitati

Distribuisci in Azure
Questo modello consente di distribuire un cluster di Service Fabric di tipo nodetype sicuro che esegue Windows server 2016 Data center in una macchina virtuale di dimensioni Standard_D2. Usare questo modello consente di controllare il traffico di rete in ingresso e in uscita usando i gruppi di sicurezza di rete.

Definizione della risorsa Terraform (provider AzAPI)

Il tipo di risorsa cluster può essere distribuito con operazioni destinate:

  • Gruppi di risorse

Per un elenco delle proprietà modificate in ogni versione dell'API, vedere log delle modifiche.

Formato di risorsa

Per creare una risorsa Microsoft.ServiceFabric/clusters, aggiungere il modello terraform seguente.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/clusters@2020-03-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      addOnFeatures = [
        "string"
      ]
      applicationTypeVersionsCleanupPolicy = {
        maxUnusedVersionsToKeep = int
      }
      azureActiveDirectory = {
        clientApplication = "string"
        clusterApplication = "string"
        tenantId = "string"
      }
      certificate = {
        thumbprint = "string"
        thumbprintSecondary = "string"
        x509StoreName = "string"
      }
      certificateCommonNames = {
        commonNames = [
          {
            certificateCommonName = "string"
            certificateIssuerThumbprint = "string"
          }
        ]
        x509StoreName = "string"
      }
      clientCertificateCommonNames = [
        {
          certificateCommonName = "string"
          certificateIssuerThumbprint = "string"
          isAdmin = bool
        }
      ]
      clientCertificateThumbprints = [
        {
          certificateThumbprint = "string"
          isAdmin = bool
        }
      ]
      clusterCodeVersion = "string"
      diagnosticsStorageAccountConfig = {
        blobEndpoint = "string"
        protectedAccountKeyName = "string"
        protectedAccountKeyName2 = "string"
        queueEndpoint = "string"
        storageAccountName = "string"
        tableEndpoint = "string"
      }
      eventStoreServiceEnabled = bool
      fabricSettings = [
        {
          name = "string"
          parameters = [
            {
              name = "string"
              value = "string"
            }
          ]
        }
      ]
      managementEndpoint = "string"
      nodeTypes = [
        {
          applicationPorts = {
            endPort = int
            startPort = int
          }
          capacities = {
            {customized property} = "string"
          }
          clientConnectionEndpointPort = int
          durabilityLevel = "string"
          ephemeralPorts = {
            endPort = int
            startPort = int
          }
          httpGatewayEndpointPort = int
          isPrimary = bool
          name = "string"
          placementProperties = {
            {customized property} = "string"
          }
          reverseProxyEndpointPort = int
          vmInstanceCount = int
        }
      ]
      reliabilityLevel = "string"
      reverseProxyCertificate = {
        thumbprint = "string"
        thumbprintSecondary = "string"
        x509StoreName = "string"
      }
      reverseProxyCertificateCommonNames = {
        commonNames = [
          {
            certificateCommonName = "string"
            certificateIssuerThumbprint = "string"
          }
        ]
        x509StoreName = "string"
      }
      upgradeDescription = {
        deltaHealthPolicy = {
          applicationDeltaHealthPolicies = {
            {customized property} = {
              defaultServiceTypeDeltaHealthPolicy = {
                maxPercentDeltaUnhealthyServices = int
              }
              serviceTypeDeltaHealthPolicies = {
                {customized property} = {
                  maxPercentDeltaUnhealthyServices = int
                }
              }
            }
          }
          maxPercentDeltaUnhealthyApplications = int
          maxPercentDeltaUnhealthyNodes = int
          maxPercentUpgradeDomainDeltaUnhealthyNodes = int
        }
        forceRestart = bool
        healthCheckRetryTimeout = "string"
        healthCheckStableDuration = "string"
        healthCheckWaitDuration = "string"
        healthPolicy = {
          applicationHealthPolicies = {
            {customized property} = {
              defaultServiceTypeHealthPolicy = {
                maxPercentUnhealthyServices = int
              }
              serviceTypeHealthPolicies = {
                {customized property} = {
                  maxPercentUnhealthyServices = int
                }
              }
            }
          }
          maxPercentUnhealthyApplications = int
          maxPercentUnhealthyNodes = int
        }
        upgradeDomainTimeout = "string"
        upgradeReplicaSetCheckTimeout = "string"
        upgradeTimeout = "string"
      }
      upgradeMode = "string"
      vmImage = "string"
    }
  })
}

Valori delle proprietà

clusters

Nome Descrizione Valore
tipo Tipo di risorsa "Microsoft.ServiceFabric/clusters@2020-03-01"
name Nome della risorsa stringa (obbligatoria)

Limite di caratteri: 4-23

Caratteri validi:
Lettere minuscole, numeri e trattini.

Deve iniziare con una lettera minuscola. Deve terminare con una lettera minuscola o un numero.
posizione Posizione delle risorse di Azure. stringa (obbligatoria)
parent_id Per distribuire in un gruppo di risorse, usare l'ID del gruppo di risorse. stringa (obbligatoria)
tags Tag delle risorse di Azure. Dizionario dei nomi e dei valori dei tag.
properties Proprietà della risorsa del cluster ClusterProperties

ClusterProperties

Nome Descrizione Valore
addOnFeatures Elenco delle funzionalità del componente aggiuntivo da abilitare nel cluster. Matrice di stringhe contenente uno qualsiasi di:
"BackupRestoreService"
"DnsService"
"RepairManager"
"ResourceMonitorService"
applicationTypeVersionsCleanupPolicy Criterio usato per pulire le versioni inutilizzate. ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory Impostazioni di autenticazione AAD del cluster. AzureActiveDirectory
certificato Certificato da usare per proteggere il cluster. Il certificato fornito verrà usato per la sicurezza del nodo a nodo all'interno del cluster, il certificato SSL per l'endpoint di gestione del cluster e il client amministratore predefinito. CertificateDescription
certificateCommonNames Descrive un elenco di certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonNames
clientCertificateCommonNames Elenco di certificati client a cui fa riferimento il nome comune autorizzato a gestire il cluster. ClientCertificateCommonName[]
clientCertificateThumbprints Elenco di certificati client a cui fa riferimento l'identificazione personale autorizzata a gestire il cluster. ClientCertificateThumbprint[]
clusterCodeVersion Versione di runtime di Service Fabric del cluster. Questa proprietà può essere impostata solo dall'utente quando upgradeMode è impostato su 'Manual'. Per ottenere l'elenco delle versioni di Service Fabric disponibili per i nuovi cluster, usare l'API ClusterVersion. Per ottenere l'elenco della versione disponibile per i cluster esistenti, usare availableClusterVersions. string
diagnosticsStorageAccountConfig Informazioni sull'account di archiviazione per l'archiviazione dei log di diagnostica di Service Fabric. DiagnosticsStorageAccountConfig
eventStoreServiceEnabled Indica se il servizio dell'archivio eventi è abilitato. bool
fabricSettings Elenco delle impostazioni dell'infrastruttura personalizzate per configurare il cluster. SettingsSectionDescription[]
managementEndpoint Endpoint di gestione HTTP del cluster. stringa (obbligatorio)
nodeTypes Elenco di tipi di nodo nel cluster. NodeTypeDescription[] (obbligatorio)
reliabilityLevel Il livello di affidabilità imposta le dimensioni del set di repliche dei servizi di sistema. Informazioni su ReliabilityLevel.

- Nessuno: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 1. Questa operazione deve essere usata solo per i cluster di test.
- Bronze- Eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 3. Questa operazione deve essere usata solo per i cluster di test.
- Silver: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 5.
- Gold: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 7.
- Platinum: eseguire i servizi di sistema con un numero di set di repliche di destinazione pari a 9.
"Bronzo"
"Oro"
"None"
"Platino"
"Silver"
reverseProxyCertificate Certificato server utilizzato dal proxy inverso. CertificateDescription
reverseProxyCertificateCommonNames Descrive un elenco di certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonNames
upgradeDescription Criteri da usare per l'aggiornamento del cluster. ClusterUpgradePolicy
upgradeMode Modalità di aggiornamento del cluster quando è disponibile una nuova versione del runtime di Service Fabric.

- Automatico: il cluster verrà aggiornato automaticamente alla versione più recente del runtime di Service Fabric non appena sarà disponibile.
- Manuale: il cluster non verrà aggiornato automaticamente alla versione più recente del runtime di Service Fabric. Il cluster viene aggiornato impostando la proprietà clusterCodeVersion nella risorsa cluster.
"Automatico"
"Manuale"
vmImage Il set di scalabilità di macchine virtuali dell'immagine della macchina virtuale è stato configurato con . È possibile usare nomi generici come Windows o Linux. string

ApplicationTypeVersionsCleanupPolicy

Nome Descrizione Valore
maxUnusedVersionsToKeep Numero di versioni inutilizzate per ogni tipo di applicazione da mantenere. int (obbligatorio)

Vincoli:
Valore minimo = 0

AzureActiveDirectory

Nome Descrizione Valore
clientApplication ID applicazione client di Azure Active Directory. string
clusterApplication ID applicazione cluster di Azure Active Directory. string
TenantId ID tenant di Azure Active Directory. string

CertificateDescription

Nome Descrizione Valore
thumbprint Identificazione personale del certificato primario. stringa (obbligatorio)
identificazione personaleSecondario Identificazione personale del certificato secondario. string
x509StoreName Percorso dell'archivio certificati locale. "AddressBook"
"AuthRoot"
"CertificateAuthority"
"Non consentito"
"My"
"Radice"
"TrustedPeople"
"TrustedPublisher"

ServerCertificateCommonNames

Nome Descrizione Valore
commonNames Elenco di certificati server a cui fa riferimento il nome comune usato per proteggere il cluster. ServerCertificateCommonName[]
x509StoreName Percorso dell'archivio certificati locale. "AddressBook"
"AuthRoot"
"CertificateAuthority"
"Non consentito"
"My"
"Radice"
"TrustedPeople"
"TrustedPublisher"

ServerCertificateCommonName

Nome Descrizione Valore
certificateCommonName Nome comune del certificato del server. stringa (obbligatorio)
certificateIssuerThumbprint Identificazione personale dell'autorità di certificazione del certificato del server. stringa (obbligatorio)

ClientCertificateCommonName

Nome Descrizione Valore
certificateCommonName Nome comune del certificato client. stringa (obbligatorio)
certificateIssuerThumbprint Identificazione personale dell'autorità di certificazione del certificato client. stringa (obbligatorio)
isAdmin Indica se il certificato client ha accesso amministratore al cluster. I client non amministratori possono eseguire solo operazioni di sola lettura nel cluster. bool (obbligatorio)

ClientCertificateThumbprint

Nome Descrizione Valore
certificateThumbprint Identificazione personale del certificato client. stringa (obbligatorio)
isAdmin Indica se il certificato client ha accesso amministratore al cluster. I client non amministratori possono eseguire solo operazioni di sola lettura nel cluster. bool (obbligatorio)

DiagnosticsStorageAccountConfig

Nome Descrizione Valore
blobEndpoint Endpoint BLOB dell'account di archiviazione di Azure. stringa (obbligatorio)
protectedAccountKeyName Nome della chiave di archiviazione di diagnostica protetta. stringa (obbligatorio)
protectedAccountKeyName2 Nome della chiave di archiviazione di diagnostica protetta secondaria. Se una delle chiavi dell'account di archiviazione viene ruotata, il cluster eseguirà il fallback all'uso dell'altro. string
queueEndpoint Endpoint della coda dell'account di archiviazione di Azure. stringa (obbligatorio)
storageAccountName Il nome dell'account di archiviazione di Azure. stringa (obbligatorio)
tableEndpoint Endpoint della tabella dell'account di archiviazione di Azure. stringa (obbligatorio)

SettingsSectionDescription

Nome Descrizione valore
name Nome della sezione delle impostazioni dell'infrastruttura. stringa (obbligatorio)
parametri Raccolta di parametri nella sezione . SettingsParameterDescription[] (obbligatorio)

SettingsParameterDescription

Nome Descrizione valore
name Nome del parametro dell'impostazione dell'infrastruttura. stringa (obbligatorio)
Valore Valore del parametro dell'impostazione dell'infrastruttura. stringa (obbligatorio)

NodeTypeDescription

Nome Descrizione Valore
applicationPorts Intervallo di porte da cui il cluster ha assegnato la porta alle applicazioni di Service Fabric. EndpointRangeDescription
capacities I tag di capacità applicati ai nodi nel tipo di nodo, gestione risorse cluster usa questi tag per comprendere la quantità di risorse di un nodo. NodeTypeDescriptionCapacities
clientConnectionEndpointPort Porta dell'endpoint di gestione del cluster TCP. int (obbligatorio)
durabilitàLevel Livello di durabilità del tipo di nodo. Informazioni su DurabilityLevel.

- Bronzo - Nessun privilegio. Questo è il valore predefinito.
- Silver: i processi di infrastruttura possono essere sospesi per una durata di 10 minuti per ogni UD.
- Gold: i processi di infrastruttura possono essere sospesi per una durata di 2 ore per ogni UD. La durata Gold può essere abilitata solo per gli SKU VM con tutti i nodi come D15_V2, G5 e così via.
"Bronzo"
"Oro"
"Silver"
effimeroPorts L'intervallo di porte temporanee con cui devono essere configurati i nodi di questo tipo di nodo. EndpointRangeDescription
httpGatewayEndpointPort Porta dell'endpoint di gestione del cluster HTTP. int (obbligatorio)
isPrimary Tipo di nodo in cui verranno eseguiti i servizi di sistema. Solo un tipo di nodo deve essere contrassegnato come primario. Non è possibile eliminare o modificare il tipo di nodo primario per i cluster esistenti. bool (obbligatorio)
name Nome del tipo di nodo. stringa (obbligatorio)
placementProperties Tag di posizionamento applicati ai nodi nel tipo di nodo, che possono essere usati per indicare dove devono essere eseguiti determinati servizi (carico di lavoro). NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort Endpoint usato dal proxy inverso. INT
vmInstanceCount Numero di nodi nel tipo di nodo. Questo conteggio deve corrispondere alla proprietà capacity nella risorsa VirtualMachineScaleSet corrispondente. int (obbligatorio)

Vincoli:
Valore minimo = 1
Valore massimo = 2147483647

EndpointRangeDescription

Nome Descrizione Valore
endPort Porta finale di un intervallo di porte int (obbligatorio)
startPort Avvio della porta di un intervallo di porte int (obbligatorio)

NodeTypeDescriptionCapacities

Nome Descrizione Valore
{proprietà personalizzata} string

NodeTypeDescriptionPlacementProperties

Nome Descrizione Valore
{proprietà personalizzata} string

ClusterUpgradePolicy

Nome Descrizione Valore
deltaHealthPolicy Criteri di integrità differenziale del cluster usati per l'aggiornamento del cluster. ClusterUpgradeDeltaHealthPolicy
forceRestart Se true, i processi vengono riavviati forzatamente durante l'aggiornamento anche quando la versione del codice non è stata modificata (l'aggiornamento modifica solo la configurazione o i dati). bool
healthCheckRetryTimeout Tempo di ripetizione della valutazione dell'integrità quando l'applicazione o il cluster non è integro prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)
healthCheckStableDuration Tempo di attesa per cui l'applicazione o il cluster devono rimanere integri prima di passare al dominio di aggiornamento successivo. La durata può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)
healthCheckWaitDuration Intervallo di tempo di attesa dopo il completamento di un dominio di aggiornamento prima di eseguire i controlli di integrità. La durata può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatorio)
healthPolicy Criteri di integrità del cluster usati durante l'aggiornamento del cluster. ClusterHealthPolicy (obbligatorio)
upgradeDomainTimeout Tempo necessario per il completamento di ogni dominio di aggiornamento prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)
upgradeReplicaSetCheckTimeout Tempo massimo per bloccare l'elaborazione di un dominio di aggiornamento ed evitare la perdita di disponibilità quando si verificano problemi imprevisti. Quando il timeout scade, l'elaborazione del dominio di aggiornamento procede indipendentemente dai problemi di perdita di disponibilità. Il timeout viene reimpostato all'inizio di ogni dominio di aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)
upgradeTimeout Il tempo necessario per completare l'aggiornamento complessivo prima del rollback dell'aggiornamento. Il timeout può essere in formato hh:mm:ss o d.hh:mm:ss.ms. stringa (obbligatoria)

ClusterUpgradeDeltaHealthPolicy

Nome Descrizione Valore
applicationDeltaHealthPolicies Definisce la mappa dei criteri di integrità differenziale dell'applicazione usata per valutare l'integrità di un'applicazione o una delle relative entità figlio durante l'aggiornamento del cluster. ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications Percentuale massima consentita di riduzione dell'integrità delle applicazioni consentita durante gli aggiornamenti del cluster.
Il delta viene misurato tra lo stato delle applicazioni all'inizio dell'aggiornamento e lo stato delle applicazioni al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza. I servizi di sistema non sono inclusi in questo.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentDeltaUnhealthyNodes Percentuale massima di riduzione dell'integrità dei nodi consentita durante gli aggiornamenti del cluster.
Il valore delta è misurato tra lo stato dei nodi e all'inizio dell'aggiornamento e lo stato dei nodi al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes Percentuale massima di riduzione dell'integrità dei nodi del dominio di aggiornamento consentita durante gli aggiornamenti del cluster.
Il valore delta è misurato tra lo stato dei nodi di dominio all'inizio dell'aggiornamento e lo stato dei nodi di dominio al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per tutti i domini di aggiornamento completati per assicurarsi che lo stato complessivo dei domini di aggiornamento rientri nei limiti di tolleranza.
int (obbligatorio)

Vincoli:
Valore minimo = 0
Valore massimo = 100

ApplicationDeltaHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

Nome Descrizione Valore
defaultServiceTypeDeltaHealthPolicy I criteri di integrità delta usati per impostazione predefinita per valutare l'integrità di un tipo di servizio durante l'aggiornamento del cluster. ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies Mappa con i criteri di integrità delta del tipo di servizio per nome del tipo di servizio. Per impostazione predefinita la mappa è vuota. ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

Nome Descrizione Valore
maxPercentDeltaUnhealthyServices Percentuale massima consentita di riduzione dell'integrità dei servizi consentita durante gli aggiornamenti del cluster.
Il delta viene misurato tra lo stato dei servizi all'inizio dell'aggiornamento e lo stato dei servizi al momento della valutazione dell'integrità.
Il controllo viene eseguito dopo il completamento dell'aggiornamento di ciascun dominio di aggiornamento per assicurarsi che lo stato complessivo del cluster rientri nei limiti di tolleranza.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ServiceTypeDeltaHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

Nome Descrizione Valore
applicationHealthPolicies Definisce la mappa dei criteri di integrità dell'applicazione usata per valutare l'integrità di un'applicazione o una delle relative entità figlio. ApplicationHealthPolicyMap
maxPercentUnhealthyApplications Percentuale massima consentita di applicazioni non integre prima che venga segnalato un errore. Ad esempio, per consentire il 10% di applicazioni non integre, questo valore deve corrispondere a 10.

La percentuale rappresenta la percentuale massima tollerata di applicazioni che possono risultare non integre prima che per il cluster venga impostato lo stato Error.
Se la percentuale viene rispettata ma esiste almeno un'applicazione non integra, l'integrità viene valutata come Avviso.
Questa viene calcolata dividendo il numero di applicazioni non integre rispetto al numero totale di istanze dell'applicazione nel cluster, escluse le applicazioni di tipi inclusi nel parametro ApplicationTypeHealthPolicyMap.
Il calcolo viene arrotondato per eccesso per tollerare un errore su un numero limitato di applicazioni. La percentuale predefinita è zero.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100
maxPercentUnhealthyNodes Percentuale massima consentita di nodi non integri prima che venga segnalato un errore. Ad esempio, per consentire il 10% di nodi non integri, questo valore deve corrispondere a 10.

La percentuale rappresenta la percentuale massima tollerata di nodi che possono risultare non integri prima che per il cluster venga impostato lo stato Error.
Se la percentuale viene rispettata ma esiste almeno un nodo non integro, l'integrità viene valutata come Avviso.
Tale percentuale viene calcolata dividendo il numero dei nodi non integri per il numero totale di nodi nel cluster.
Il calcolo viene arrotondato per eccesso per tollerare un errore su un numero limitato di nodi. La percentuale predefinita è zero.

Questa percentuale dovrà essere configurata in modo da tenere conto del fatto che in cluster di grandi dimensioni sono sempre presenti nodi inattivi o in fase di riparazione.
INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ApplicationHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ApplicationHealthPolicy

ApplicationHealthPolicy

Nome Descrizione Valore
defaultServiceTypeHealthPolicy Criteri di integrità usati per impostazione predefinita per valutare l'integrità di un tipo di servizio. ServiceTypeHealthPolicy
serviceTypeHealthPolicies Mappa con i criteri di integrità del tipo di servizio per nome del tipo di servizio. Per impostazione predefinita la mappa è vuota. ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

Nome Descrizione Valore
maxPercentUnhealthyServices Percentuale massima di servizi non integri prima che l'applicazione venga considerata in errore. INT

Vincoli:
Valore minimo = 0
Valore massimo = 100

ServiceTypeHealthPolicyMap

Nome Descrizione Valore
{proprietà personalizzata} ServiceTypeHealthPolicy