Share via


Clusters Microsoft.ServiceFabric 2020-12-01-preview

Définition de ressource Bicep

Le type de ressource de clusters peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version d’API, consultez journal des modifications.

Format des ressources

Pour créer une ressource Microsoft.ServiceFabric/clusters, ajoutez le Bicep suivant à votre modèle.

resource symbolicname 'Microsoft.ServiceFabric/clusters@2020-12-01-preview' = {
  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'
  }
}

Valeurs de propriétés

clusters

Nom Description Valeur
name Nom de la ressource string (obligatoire)

Limite de caractères : 4-23

Caractères valides :
Lettres minuscules, chiffres et traits d’union.

Doit commencer par une lettre minuscule. Doit se terminer par une lettre minuscule ou un chiffre.
location Emplacement des ressources Azure. string (obligatoire)
tags Balises de ressource Azure. Dictionnaire de noms et de valeurs d’étiquettes. Voir Balises dans les modèles
properties Propriétés de la ressource de cluster ClusterProperties

ClusterProperties

Nom Description Valeur
addOnFeatures Liste des fonctionnalités de module complémentaire à activer dans le cluster. Tableau de chaînes contenant l’un des éléments suivants :
'BackupRestoreService'
'DnsService'
'RepairManager'
'ResourceMonitorService'
applicationTypeVersionsCleanupPolicy Stratégie utilisée pour propre versions inutilisées. ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory Paramètres d’authentification AAD du cluster. AzureActiveDirectory
certificat Certificat à utiliser pour sécuriser le cluster. Le certificat fourni sera utilisé pour la sécurité de nœud à nœud au sein du cluster, le certificat SSL pour le point de terminaison de gestion du cluster et le client d’administration par défaut. CertificateDescription
certificateCommonNames Décrit une liste de certificats de serveur référencés par un nom commun qui sont utilisés pour sécuriser le cluster. ServerCertificateCommonNames
clientCertificateCommonNames Liste des certificats clients référencés par nom commun autorisés à gérer le cluster. ClientCertificateCommonName[]
clientCertificateThumbprints Liste des certificats clients référencés par l’empreinte numérique autorisés à gérer le cluster. ClientCertificateThumbprint[]
clusterCodeVersion Version du runtime Service Fabric du cluster. Cette propriété ne peut définir l’utilisateur que lorsque upgradeMode a la valeur « Manual ». Pour obtenir la liste des versions de Service Fabric disponibles pour les nouveaux clusters, utilisez l’API ClusterVersion. Pour obtenir la liste des versions disponibles pour les clusters existants, utilisez availableClusterVersions. string
diagnosticsStorageAccountConfig Informations de compte de stockage pour le stockage des journaux de diagnostic Service Fabric. DiagnosticsStorageAccountConfig
eventStoreServiceEnabled Indique si le service de magasin d’événements est activé. bool
fabricSettings Liste des paramètres d’infrastructure personnalisés pour configurer le cluster. SettingsSectionDescription[]
managementEndpoint Point de terminaison de gestion http du cluster. string (obligatoire)
nodeTypes Liste des types de nœuds dans le cluster. NodeTypeDescription[] (obligatoire)
reliabilityLevel Le niveau de fiabilité définit la taille d’ensemble réplica des services système. En savoir plus sur ReliabilityLevel.

- Aucun : exécutez les services système avec un nombre de réplica défini cible de 1. Cela ne doit être utilisé que pour les clusters de test.
- Bronze : exécutez les services système avec une cible réplica nombre défini de 3. Cela ne doit être utilisé que pour les clusters de test.
- Silver : exécutez les services système avec une cible réplica nombre défini de 5.
- Gold : exécutez les services système avec une cible réplica nombre défini de 7.
- Platinum : exécutez les services système avec une cible réplica nombre défini de 9.
'Bronze'
'Gold'
'None'
'Platinum'
'Silver'
reverseProxyCertificate Certificat de serveur utilisé par le proxy inverse. CertificateDescription
reverseProxyCertificateCommonNames Décrit une liste de certificats de serveur référencés par un nom commun qui sont utilisés pour sécuriser le cluster. ServerCertificateCommonNames
upgradeDescription Stratégie à utiliser lors de la mise à niveau du cluster. ClusterUpgradePolicy
upgradeMode Mode de mise à niveau du cluster lorsque la nouvelle version du runtime Service Fabric est disponible.

- Automatique : le cluster sera automatiquement mis à niveau vers la dernière version du runtime Service Fabric dès qu’elle sera disponible.
- Manuel : le cluster ne sera pas automatiquement mis à niveau vers la dernière version du runtime Service Fabric. Le cluster est mis à niveau en définissant la propriété clusterCodeVersion dans la ressource de cluster.
'Automatic'
'Manuel'
vmImage L’image de machine virtuelle VMSS a été configurée avec. Des noms génériques tels que Windows ou Linux peuvent être utilisés. string

ApplicationTypeVersionsCleanupPolicy

Nom Description Valeur
maxUnusedVersionsToKeep Nombre de versions inutilisées par type d’application à conserver. int (obligatoire)

Contraintes :
Valeur minimale = 0

AzureActiveDirectory

Nom Description Valeur
clientApplication ID d’application cliente Azure Active Directory. string
clusterApplication ID d’application du cluster Azure Active Directory. string
tenantId ID de locataire Azure Active Directory. string

CertificateDescription

Nom Description Valeur
thumbprint Empreinte numérique du certificat principal. string (obligatoire)
thumbprintSecondary Empreinte numérique du certificat secondaire. string
x509StoreName Emplacement du magasin de certificats local. 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'Non autorisé'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ServerCertificateCommonNames

Nom Description Valeur
commonNames Liste des certificats de serveur référencés par nom commun utilisés pour sécuriser le cluster. ServerCertificateCommonName[]
x509StoreName Emplacement du magasin de certificats local. 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'Non autorisé'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ServerCertificateCommonName

Nom Description Valeur
certificateCommonName Nom commun du certificat de serveur. string (obligatoire)
certificateIssuerThumbprint Empreinte numérique de l’émetteur du certificat de serveur. string (obligatoire)

ClientCertificateCommonName

Nom Description Valeur
certificateCommonName Nom commun du certificat client. chaîne (obligatoire)
certificateIssuerThumbprint Empreinte de l’émetteur du certificat client. chaîne (obligatoire)
isAdmin Indique si le certificat client dispose d’un accès administrateur au cluster. Les clients non administrateurs peuvent effectuer uniquement des opérations en lecture seule sur le cluster. bool (obligatoire)

ClientCertificateThumbprint

Nom Description Valeur
certificateThumbprint Empreinte numérique du certificat client. chaîne (obligatoire)
isAdmin Indique si le certificat client dispose d’un accès administrateur au cluster. Les clients non administrateurs peuvent effectuer uniquement des opérations en lecture seule sur le cluster. bool (obligatoire)

DiagnosticsStorageAccountConfig

Nom Description Valeur
blobEndpoint Point de terminaison d’objet blob du compte de stockage Azure. chaîne (obligatoire)
protectedAccountKeyName Nom de clé de stockage protégé diagnostics. chaîne (obligatoire)
protectedAccountKeyName2 Nom de clé de stockage secondaire protégé diagnostics. Si l’une des clés de compte de stockage est pivotée, le cluster sera de secours à l’aide de l’autre. string
queueEndpoint Point de terminaison de file d’attente du compte de stockage Azure. chaîne (obligatoire)
storageAccountName Nom du compte de stockage Azure. chaîne (obligatoire)
tableEndpoint Point de terminaison de table du compte de stockage Azure. chaîne (obligatoire)

SettingsSectionDescription

Nom Description Valeur
name Nom de section des paramètres de l’infrastructure. chaîne (obligatoire)
parameters Collection de paramètres dans la section. SettingsParameterDescription[] (obligatoire)

ParamètresParameterDescription

Nom Description Valeur
name Nom de paramètre du paramètre de l’infrastructure. chaîne (obligatoire)
value Valeur du paramètre du paramètre de l’infrastructure. chaîne (obligatoire)

NodeTypeDescription

Nom Description Valeur
applicationPorts Plage de ports à partir desquels le cluster a attribué un port aux applications Service Fabric. EndpointRangeDescription
capacities Balises de capacité appliquées aux nœuds dans le type de nœud. Le gestionnaire de ressources de cluster utilise ces balises pour comprendre la quantité de ressources d’un nœud. NodeTypeDescriptionCapacities
clientConnectionEndpointPort Port du point de terminaison de gestion du cluster TCP. int (obligatoire)
durabilityLevel Niveau de durabilité du type de nœud. En savoir plus sur DurabilityLevel.

- Bronze - Aucun privilège. Il s’agit de la valeur par défaut.
- Argent : les travaux d’infrastructure peuvent être suspendus pendant une durée de 10 minutes par UD.
- Gold - Les travaux d’infrastructure peuvent être suspendus pendant une durée de 2 heures par UD. La durabilité Gold ne peut être activée que sur les références de machine virtuelle à nœud complet comme D15_V2, G5, etc.
'Bronze'
'Gold'
'Silver'
ephemeralPorts Plage de ports éphémères que les nœuds de ce type de nœud doivent être configurés. EndpointRangeDescription
httpGatewayEndpointPort Port du point de terminaison de gestion du cluster HTTP. int (obligatoire)
isPrimary Type de nœud sur lequel les services système s’exécuteront. Un seul type de nœud doit être marqué comme principal. Le type de nœud principal ne peut pas être supprimé ou modifié pour les clusters existants. bool (obligatoire)
name Nom du type de nœud. chaîne (obligatoire)
placementProperties Balises de placement appliquées aux nœuds du type de nœud, qui peuvent être utilisées pour indiquer où certains services (charge de travail) doivent s’exécuter. NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort Point de terminaison utilisé par le proxy inverse. int
vmInstanceCount Nombre de nœuds dans le type de nœud. Ce nombre doit correspondre à la propriété de capacité dans la ressource VirtualMachineScaleSet correspondante. int (obligatoire)

Contraintes :
Valeur minimale = 1
Valeur maximale = 2147483647

EndpointRangeDescription

Nom Description Valeur
endPort Port de fin d’une plage de ports int (obligatoire)
startPort Port de départ d’une plage de ports int (obligatoire)

NodeTypeDescriptionCapacities

Nom Description Valeur
{propriété personnalisée} string

NodeTypeDescriptionPlacementProperties

Nom Description Valeur
{propriété personnalisée} string

ClusterUpgradePolicy

Nom Description Valeur
deltaHealthPolicy Stratégie d’intégrité delta du cluster utilisée lors de la mise à niveau du cluster. ClusterUpgradeDeltaHealthPolicy
forceRestart Si la valeur est true, les processus sont redémarrés de force pendant la mise à niveau même si la version du code n’a pas changé (la mise à niveau modifie uniquement la configuration ou les données). bool
healthCheckRetryTimeout Durée de la nouvelle tentative d’évaluation de l’intégrité lorsque l’application ou le cluster est défectueux avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthCheckStableDuration Durée pendant laquelle l’application ou le cluster doivent rester sains avant que la mise à niveau ne passe au domaine de mise à niveau suivant. La durée peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthCheckWaitDuration Durée d’attente après avoir terminé un domaine de mise à niveau avant d’effectuer des vérifications d’intégrité. La durée peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthPolicy Stratégie d’intégrité du cluster utilisée lors de la mise à niveau du cluster. ClusterHealthPolicy (obligatoire)
upgradeDomainTimeout Durée pendant laquelle chaque domaine de mise à niveau doit se terminer avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
upgradeReplicaSetCheckTimeout Durée maximale pendant laquelle bloquer le traitement d’un domaine de mise à niveau et éviter la perte de disponibilité en cas de problèmes inattendus. Lorsque ce délai d’attente expire, le traitement du domaine de mise à niveau se poursuit, indépendamment des problèmes de perte de disponibilité. Le délai d’expiration est réinitialisé au début de chaque domaine de mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
upgradeTimeout Durée pendant laquelle la mise à niveau globale doit se terminer avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)

ClusterUpgradeDeltaHealthPolicy

Nom Description Valeur
applicationDeltaHealthPolicies Définit la carte de stratégie d’intégrité delta d’application utilisée pour évaluer l’intégrité d’une application ou de l’une de ses entités enfants lors de la mise à niveau du cluster. ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications Pourcentage maximal autorisé de dégradation de l’intégrité des applications pendant les mises à niveau du cluster.
Le delta est mesuré entre l’état des applications au début de la mise à niveau et l’état des applications au moment de l’évaluation d’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées. Les services système ne sont pas inclus dans ce.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentDeltaUnhealthyNodes Pourcentage maximal autorisé de dégradation de l’intégrité des nœuds pendant les mises à niveau de clusters.
Le delta est mesuré entre l’état des nœuds au début de la mise à niveau et l’état des nœuds au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes Pourcentage maximal autorisé de dégradation de l’intégrité des nœuds de domaine de mise à niveau pendant les mises à niveau de clusters.
Le delta est mesuré entre l’état des nœuds de domaine de mise à niveau au début de la mise à niveau et leur état au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau (pour l’ensemble des domaines de mise à niveau) afin de vérifier que l’état des domaines de mise à niveau se trouve dans les limites autorisées.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ApplicationDeltaHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

Nom Description Valeur
defaultServiceTypeDeltaHealthPolicy Stratégie d’intégrité delta utilisée par défaut pour évaluer l’intégrité d’un type de service lors de la mise à niveau du cluster. ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies Carte avec la stratégie d’intégrité delta de type de service par nom de type de service. Par défaut, le mappage est vide. ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

Nom Description Valeur
maxPercentDeltaUnhealthyServices Pourcentage maximal autorisé de dégradation de l’intégrité des services autorisé pendant les mises à niveau du cluster.
Le delta est mesuré entre l’état des services au début de la mise à niveau et l’état des services au moment de l’évaluation d’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ServiceTypeDeltaHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

Nom Description Valeur
applicationHealthPolicies Définit le mappage de stratégie d’intégrité de l’application utilisé pour évaluer l’intégrité d’une application ou de l’une de ses entités enfants. ApplicationHealthPolicyMap
maxPercentUnhealthyApplications Pourcentage maximal autorisé d’applications non saines avant signalement d’une erreur. Par exemple, pour autoriser 10 % des applications pouvant être défectueuses, cette valeur serait de 10.

Il s’agit du pourcentage maximum toléré d’applications pouvant être défectueuses avant que l’intégrité du cluster ne soit considérée comme étant à l’état Error.
Si le pourcentage est respecté mais qu’il existe au moins une application pouvant être défectueuse, l’état d’intégrité est Warning.
Ce calcul est effectué en divisant le nombre d’applications pouvant être défectueuses par le nombre total d’instances de l’application dans le cluster, à l’exception des types d’applications inclus dans le ApplicationTypeHealthPolicyMap.
Le calcul est arrondi pour tolérer la défaillance d’un petit nombre d’applications. Le pourcentage par défaut est zéro.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentUnhealthyNodes Pourcentage maximal autorisé de nœuds non sains avant signalement d’une erreur. Par exemple, pour autoriser 10 % de nœuds défectueux, cette valeur serait de 10.

Il s’agit du pourcentage maximum toléré de nœuds pouvant être défectueux avant que l’intégrité du cluster ne soit considérée comme étant à l’état Error.
Si le pourcentage est respecté mais qu’il existe au moins un nœud pouvant être défectueux, l’état d’intégrité est Warning.
Le pourcentage est calculé en divisant le nombre de nœuds défectueux par le nombre total de nœuds du cluster.
Le calcul est arrondi pour tolérer une défaillance sur un petit nombre de nœuds. Le pourcentage par défaut est zéro.

Dans les clusters de grande taille, certains nœuds sont toujours inactifs ou en réparation. Ce pourcentage doit donc être configuré pour tolérer cette condition.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ApplicationHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ApplicationHealthPolicy

ApplicationHealthPolicy

Nom Description Valeur
defaultServiceTypeHealthPolicy Stratégie d’intégrité utilisée par défaut pour évaluer l’intégrité d’un type de service. ServiceTypeHealthPolicy
serviceTypeHealthPolicies Mappage avec la stratégie d’intégrité de type de service par nom de type de service. Par défaut, le mappage est vide. ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

Nom Description Valeur
maxPercentUnhealthyServices Pourcentage maximal de services autorisés à être défectueux avant que votre application ne soit considérée comme étant erronée. int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ServiceTypeHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ServiceTypeHealthPolicy

Modèles de démarrage rapide

Les modèles de démarrage rapide suivants déploient ce type de ressource.

Modèle Description
Déployer un cluster Ubuntu Service Fabric à 5 nœuds

Déployer sur Azure
Ce modèle vous permet de déployer un cluster Service Fabric sécurisé à 5 nœuds exécutant Ubuntu sur un vmSS de taille Standard_D2_V2.
Déployer un cluster sécurisé à 5 nœuds

Déployer sur Azure
Ce modèle vous permet de déployer un cluster Service Fabric à 5 nœuds sécurisé exécutant Windows Server 2019 Datacenter sur un vmSS de taille Standard_D2_v2.
Déployer un cluster sécurisé à 3 nœuds avec des groupes de sécurité réseau activés

Déployer sur Azure
Ce modèle vous permet de déployer un cluster Service Fabric de type 3 nœuds sécurisé exécutant le centre de données Windows Server 2016 sur une taille de machines virtuelles Standard_D2. Ce modèle vous permet de contrôler le trafic réseau entrant et sortant à l’aide de groupes de sécurité réseau.

Définition de ressources de modèle ARM

Le type de ressource de clusters peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version d’API, consultez journal des modifications.

Format des ressources

Pour créer une ressource Microsoft.ServiceFabric/clusters, ajoutez le code JSON suivant à votre modèle.

{
  "type": "Microsoft.ServiceFabric/clusters",
  "apiVersion": "2020-12-01-preview",
  "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"
  }
}

Valeurs de propriétés

clusters

Nom Description Valeur
type Type de ressource 'Microsoft.ServiceFabric/clusters'
apiVersion Version de l’API de ressource '2020-12-01-preview'
name Nom de la ressource string (obligatoire)

Limite de caractères : 4-23

Caractères valides :
Lettres minuscules, chiffres et traits d’union.

Doit commencer par une lettre minuscule. Doit se terminer par une lettre minuscule ou un chiffre.
location Emplacement des ressources Azure. string (obligatoire)
tags Balises de ressource Azure. Dictionnaire de noms et de valeurs d’étiquettes. Voir Balises dans les modèles
properties Propriétés de la ressource de cluster ClusterProperties

ClusterProperties

Nom Description Valeur
addOnFeatures Liste des fonctionnalités de module complémentaire à activer dans le cluster. Tableau de chaînes contenant l’un des éléments suivants :
'BackupRestoreService'
'DnsService'
'RepairManager'
'ResourceMonitorService'
applicationTypeVersionsCleanupPolicy Stratégie utilisée pour propre versions inutilisées. ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory Paramètres d’authentification AAD du cluster. AzureActiveDirectory
certificat Certificat à utiliser pour sécuriser le cluster. Le certificat fourni sera utilisé pour la sécurité de nœud à nœud au sein du cluster, le certificat SSL pour le point de terminaison de gestion du cluster et le client d’administration par défaut. CertificateDescription
certificateCommonNames Décrit une liste de certificats de serveur référencés par un nom commun qui sont utilisés pour sécuriser le cluster. ServerCertificateCommonNames
clientCertificateCommonNames Liste des certificats clients référencés par nom commun autorisés à gérer le cluster. ClientCertificateCommonName[]
clientCertificateThumbprints Liste des certificats clients référencés par l’empreinte numérique autorisés à gérer le cluster. ClientCertificateThumbprint[]
clusterCodeVersion Version du runtime Service Fabric du cluster. Cette propriété ne peut définir l’utilisateur que lorsque upgradeMode a la valeur « Manual ». Pour obtenir la liste des versions de Service Fabric disponibles pour les nouveaux clusters, utilisez l’API ClusterVersion. Pour obtenir la liste des versions disponibles pour les clusters existants, utilisez availableClusterVersions. string
diagnosticsStorageAccountConfig Informations de compte de stockage pour le stockage des journaux de diagnostic Service Fabric. DiagnosticsStorageAccountConfig
eventStoreServiceEnabled Indique si le service de magasin d’événements est activé. bool
fabricSettings Liste des paramètres d’infrastructure personnalisés pour configurer le cluster. SettingsSectionDescription[]
managementEndpoint Point de terminaison de gestion http du cluster. string (obligatoire)
nodeTypes Liste des types de nœuds dans le cluster. NodeTypeDescription[] (obligatoire)
reliabilityLevel Le niveau de fiabilité définit la taille d’ensemble réplica des services système. En savoir plus sur ReliabilityLevel.

- Aucun : exécutez les services système avec un nombre de réplica défini cible de 1. Cela ne doit être utilisé que pour les clusters de test.
- Bronze : exécutez les services système avec une cible réplica nombre défini de 3. Cela ne doit être utilisé que pour les clusters de test.
- Silver : exécutez les services système avec une cible réplica nombre défini de 5.
- Gold : exécutez les services système avec une cible réplica nombre défini de 7.
- Platinum : exécutez les services système avec une cible réplica nombre défini de 9.
'Bronze'
'Gold'
'None'
'Platinum'
'Silver'
reverseProxyCertificate Certificat de serveur utilisé par le proxy inverse. CertificateDescription
reverseProxyCertificateCommonNames Décrit une liste de certificats de serveur référencés par un nom commun qui sont utilisés pour sécuriser le cluster. ServerCertificateCommonNames
upgradeDescription Stratégie à utiliser lors de la mise à niveau du cluster. ClusterUpgradePolicy
upgradeMode Mode de mise à niveau du cluster lorsque la nouvelle version du runtime Service Fabric est disponible.

- Automatique : le cluster sera automatiquement mis à niveau vers la dernière version du runtime Service Fabric dès qu’elle sera disponible.
- Manuel : le cluster ne sera pas automatiquement mis à niveau vers la dernière version du runtime Service Fabric. Le cluster est mis à niveau en définissant la propriété clusterCodeVersion dans la ressource de cluster.
'Automatic'
'Manuel'
vmImage L’image de machine virtuelle VMSS a été configurée avec. Des noms génériques tels que Windows ou Linux peuvent être utilisés. string

ApplicationTypeVersionsCleanupPolicy

Nom Description Valeur
maxUnusedVersionsToKeep Nombre de versions inutilisées par type d’application à conserver. int (obligatoire)

Contraintes :
Valeur minimale = 0

AzureActiveDirectory

Nom Description Valeur
clientApplication ID d’application cliente Azure Active Directory. string
clusterApplication ID d’application du cluster Azure Active Directory. string
tenantId ID de locataire Azure Active Directory. string

CertificateDescription

Nom Description Valeur
thumbprint Empreinte numérique du certificat principal. string (obligatoire)
thumbprintSecondary Empreinte numérique du certificat secondaire. string
x509StoreName Emplacement du magasin de certificats local. 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'Non autorisé'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ServerCertificateCommonNames

Nom Description Valeur
commonNames Liste des certificats de serveur référencés par nom commun utilisés pour sécuriser le cluster. ServerCertificateCommonName[]
x509StoreName Emplacement du magasin de certificats local. 'AddressBook'
'AuthRoot'
'CertificateAuthority'
'Non autorisé'
'My'
'Root'
'TrustedPeople'
'TrustedPublisher'

ServerCertificateCommonName

Nom Description Valeur
certificateCommonName Nom commun du certificat de serveur. string (obligatoire)
certificateIssuerThumbprint Empreinte numérique de l’émetteur du certificat de serveur. string (obligatoire)

ClientCertificateCommonName

Nom Description Valeur
certificateCommonName Nom commun du certificat client. string (obligatoire)
certificateIssuerThumbprint Empreinte numérique de l’émetteur du certificat client. string (obligatoire)
isAdmin Indique si le certificat client dispose d’un accès administrateur au cluster. Les clients non administrateurs peuvent effectuer uniquement des opérations en lecture seule sur le cluster. bool (obligatoire)

ClientCertificateThumbprint

Nom Description Valeur
certificateThumbprint Empreinte numérique du certificat client. string (obligatoire)
isAdmin Indique si le certificat client dispose d’un accès administrateur au cluster. Les clients non administrateurs peuvent effectuer uniquement des opérations en lecture seule sur le cluster. bool (obligatoire)

DiagnosticsStorageAccountConfig

Nom Description Valeur
blobEndpoint Point de terminaison d’objet blob du compte de stockage Azure. string (obligatoire)
protectedAccountKeyName Nom de clé de stockage diagnostics protégé. string (obligatoire)
protectedAccountKeyName2 Nom de clé de stockage diagnostics protégé secondaire. Si l’une des clés de compte de stockage est pivotée, le cluster sera de secours à l’aide de l’autre. string
queueEndpoint Point de terminaison de file d’attente du compte de stockage Azure. string (obligatoire)
storageAccountName Nom du compte de stockage Azure. string (obligatoire)
tableEndpoint Point de terminaison de table du compte de stockage Azure. string (obligatoire)

SettingsSectionDescription

Nom Description Valeur
name Nom de section des paramètres d’infrastructure. string (obligatoire)
parameters Collection de paramètres dans la section . SettingsParameterDescription[] (obligatoire)

ParamètresParameterDescription

Nom Description Valeur
name Nom du paramètre du paramètre fabric. string (obligatoire)
value Valeur du paramètre du paramètre fabric. string (obligatoire)

NodeTypeDescription

Nom Description Valeur
applicationPorts Plage de ports à partir de laquelle le cluster a attribué le port aux applications Service Fabric. EndpointRangeDescription
capacities Balises de capacité appliquées aux nœuds dans le type de nœud. Le gestionnaire de ressources de cluster utilise ces balises pour comprendre la quantité de ressources d’un nœud. NodeTypeDescriptionCapacities
clientConnectionEndpointPort Port du point de terminaison de gestion du cluster TCP. int (obligatoire)
durabilityLevel Niveau de durabilité du type de nœud. En savoir plus sur DurabilityLevel.

- Bronze - Aucun privilège. Il s’agit de la valeur par défaut.
- Argent : les travaux d’infrastructure peuvent être suspendus pendant une durée de 10 minutes par UD.
- Gold - Les travaux d’infrastructure peuvent être suspendus pendant une durée de 2 heures par UD. La durabilité Gold ne peut être activée que sur les références de machine virtuelle à nœud complet comme D15_V2, G5, etc.
'Bronze'
'Gold'
'Silver'
ephemeralPorts Plage de ports éphémères que les nœuds de ce type de nœud doivent être configurés. EndpointRangeDescription
httpGatewayEndpointPort Port du point de terminaison de gestion du cluster HTTP. int (obligatoire)
isPrimary Type de nœud sur lequel les services système s’exécuteront. Un seul type de nœud doit être marqué comme principal. Le type de nœud principal ne peut pas être supprimé ou modifié pour les clusters existants. bool (obligatoire)
name Nom du type de nœud. chaîne (obligatoire)
placementProperties Balises de placement appliquées aux nœuds du type de nœud, qui peuvent être utilisées pour indiquer où certains services (charge de travail) doivent s’exécuter. NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort Point de terminaison utilisé par le proxy inverse. int
vmInstanceCount Nombre de nœuds dans le type de nœud. Ce nombre doit correspondre à la propriété de capacité dans la ressource VirtualMachineScaleSet correspondante. int (obligatoire)

Contraintes :
Valeur minimale = 1
Valeur maximale = 2147483647

EndpointRangeDescription

Nom Description Valeur
endPort Port de fin d’une plage de ports int (obligatoire)
startPort Port de départ d’une plage de ports int (obligatoire)

NodeTypeDescriptionCapacities

Nom Description Valeur
{propriété personnalisée} string

NodeTypeDescriptionPlacementProperties

Nom Description Valeur
{propriété personnalisée} string

ClusterUpgradePolicy

Nom Description Valeur
deltaHealthPolicy Stratégie d’intégrité delta du cluster utilisée lors de la mise à niveau du cluster. ClusterUpgradeDeltaHealthPolicy
forceRestart Si la valeur est true, les processus sont redémarrés de force pendant la mise à niveau même si la version du code n’a pas changé (la mise à niveau modifie uniquement la configuration ou les données). bool
healthCheckRetryTimeout Durée de la nouvelle tentative d’évaluation de l’intégrité lorsque l’application ou le cluster est défectueux avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthCheckStableDuration Durée pendant laquelle l’application ou le cluster doivent rester sains avant que la mise à niveau ne passe au domaine de mise à niveau suivant. La durée peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthCheckWaitDuration Durée d’attente après avoir terminé un domaine de mise à niveau avant d’effectuer des vérifications d’intégrité. La durée peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthPolicy Stratégie d’intégrité du cluster utilisée lors de la mise à niveau du cluster. ClusterHealthPolicy (obligatoire)
upgradeDomainTimeout Durée pendant laquelle chaque domaine de mise à niveau doit se terminer avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
upgradeReplicaSetCheckTimeout Durée maximale pendant laquelle bloquer le traitement d’un domaine de mise à niveau et éviter la perte de disponibilité en cas de problèmes inattendus. Lorsque ce délai d’attente expire, le traitement du domaine de mise à niveau se poursuit, indépendamment des problèmes de perte de disponibilité. Le délai d’expiration est réinitialisé au début de chaque domaine de mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
upgradeTimeout Durée pendant laquelle la mise à niveau globale doit se terminer avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)

ClusterUpgradeDeltaHealthPolicy

Nom Description Valeur
applicationDeltaHealthPolicies Définit la carte de stratégie d’intégrité delta d’application utilisée pour évaluer l’intégrité d’une application ou de l’une de ses entités enfants lors de la mise à niveau du cluster. ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications Pourcentage maximal autorisé de dégradation de l’intégrité des applications pendant les mises à niveau du cluster.
Le delta est mesuré entre l’état des applications au début de la mise à niveau et l’état des applications au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées. Les services système ne sont pas inclus dans ce.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentDeltaUnhealthyNodes Pourcentage maximal autorisé de dégradation de l’intégrité des nœuds pendant les mises à niveau de clusters.
Le delta est mesuré entre l’état des nœuds au début de la mise à niveau et l’état des nœuds au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes Pourcentage maximal autorisé de dégradation de l’intégrité des nœuds de domaine de mise à niveau pendant les mises à niveau de clusters.
Le delta est mesuré entre l’état des nœuds de domaine de mise à niveau au début de la mise à niveau et leur état au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau (pour l’ensemble des domaines de mise à niveau) afin de vérifier que l’état des domaines de mise à niveau se trouve dans les limites autorisées.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ApplicationDeltaHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

Nom Description Valeur
defaultServiceTypeDeltaHealthPolicy Stratégie d’intégrité delta utilisée par défaut pour évaluer l’intégrité d’un type de service lors de la mise à niveau du cluster. ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies Mapper avec la stratégie d’intégrité delta de type de service par nom de type de service. Par défaut, le mappage est vide. ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

Nom Description Valeur
maxPercentDeltaUnhealthyServices Pourcentage maximal autorisé de dégradation de l’intégrité des services pendant les mises à niveau du cluster.
Le delta est mesuré entre l’état des services au début de la mise à niveau et l’état des services au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ServiceTypeDeltaHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

Nom Description Valeur
applicationHealthPolicies Définit le mappage de stratégie d’intégrité de l’application utilisé pour évaluer l’intégrité d’une application ou de l’une de ses entités enfants. ApplicationHealthPolicyMap
maxPercentUnhealthyApplications Pourcentage maximal autorisé d’applications non saines avant signalement d’une erreur. Par exemple, pour autoriser 10 % des applications pouvant être défectueuses, cette valeur serait de 10.

Il s’agit du pourcentage maximum toléré d’applications pouvant être défectueuses avant que l’intégrité du cluster ne soit considérée comme étant à l’état Error.
Si le pourcentage est respecté mais qu’il existe au moins une application pouvant être défectueuse, l’état d’intégrité est Warning.
Ce calcul est effectué en divisant le nombre d’applications pouvant être défectueuses par le nombre total d’instances de l’application dans le cluster, à l’exception des types d’applications inclus dans le ApplicationTypeHealthPolicyMap.
Le calcul est arrondi pour tolérer la défaillance d’un petit nombre d’applications. Le pourcentage par défaut est zéro.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentUnhealthyNodes Pourcentage maximal autorisé de nœuds non sains avant signalement d’une erreur. Par exemple, pour autoriser 10 % de nœuds défectueux, cette valeur serait de 10.

Il s’agit du pourcentage maximum toléré de nœuds pouvant être défectueux avant que l’intégrité du cluster ne soit considérée comme étant à l’état Error.
Si le pourcentage est respecté mais qu’il existe au moins un nœud pouvant être défectueux, l’état d’intégrité est Warning.
Le pourcentage est calculé en divisant le nombre de nœuds défectueux par le nombre total de nœuds du cluster.
Le calcul est arrondi pour tolérer une défaillance sur un petit nombre de nœuds. Le pourcentage par défaut est zéro.

Dans les clusters de grande taille, certains nœuds sont toujours inactifs ou en réparation. Ce pourcentage doit donc être configuré pour tolérer cette condition.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ApplicationHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ApplicationHealthPolicy

ApplicationHealthPolicy

Nom Description Valeur
defaultServiceTypeHealthPolicy Stratégie d’intégrité utilisée par défaut pour évaluer l’intégrité d’un type de service. ServiceTypeHealthPolicy
serviceTypeHealthPolicies Mappage avec la stratégie d’intégrité de type de service par nom de type de service. Par défaut, le mappage est vide. ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

Nom Description Valeur
maxPercentUnhealthyServices Pourcentage maximal de services autorisés à être défectueux avant que votre application ne soit considérée comme étant en erreur. int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ServiceTypeHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ServiceTypeHealthPolicy

Modèles de démarrage rapide

Les modèles de démarrage rapide suivants déploient ce type de ressource.

Modèle Description
Déployer un cluster Ubuntu Service Fabric à 5 nœuds

Déployer sur Azure
Ce modèle vous permet de déployer un cluster Service Fabric à 5 nœuds sécurisé exécutant Ubuntu sur une machine virtuelle de taille Standard_D2_V2.
Déployer un cluster sécurisé à 5 nœuds

Déployer sur Azure
Ce modèle vous permet de déployer un cluster Service Fabric à 5 nœuds sécurisé exécutant Windows Server 2019 Datacenter sur une machine virtuelle de taille Standard_D2_v2.
Déployer un cluster sécurisé à 3 types de nœuds avec des groupes de sécurité réseau activés

Déployer sur Azure
Ce modèle vous permet de déployer un cluster Service fabric à 3 nœuds sécurisé exécutant le centre de données Windows Server 2016 sur des machines virtuelles de taille Standard_D2. Ce modèle vous permet de contrôler le trafic réseau entrant et sortant à l’aide de groupes de sécurité réseau.

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource de clusters peut être déployé avec des opérations qui ciblent :

  • Groupes de ressources

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format des ressources

Pour créer une ressource Microsoft.ServiceFabric/clusters, ajoutez le Terraform suivant à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceFabric/clusters@2020-12-01-preview"
  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"
    }
  })
}

Valeurs de propriétés

clusters

Nom Description Valeur
type Type de ressource « Microsoft.ServiceFabric/clusters@2020-12-01-preview »
name Nom de la ressource chaîne (obligatoire)

Limite de caractères : 4-23

Caractères valides :
Lettres minuscules, chiffres et traits d’union.

Doit commencer par une lettre minuscule. Doit se terminer par une lettre minuscule ou un chiffre.
location Emplacement des ressources Azure. chaîne (obligatoire)
parent_id Pour effectuer un déploiement sur un groupe de ressources, utilisez l’ID de ce groupe de ressources. chaîne (obligatoire)
tags Balises de ressources Azure. Dictionnaire de noms et de valeurs d’étiquettes.
properties Propriétés des ressources de cluster ClusterProperties

ClusterProperties

Nom Description Valeur
addOnFeatures Liste des fonctionnalités de complément à activer dans le cluster. Tableau de chaînes contenant l’un des éléments suivants :
« BackupRestoreService »
« DnsService »
« RepairManager »
« ResourceMonitorService »
applicationTypeVersionsCleanupPolicy Stratégie utilisée pour propre versions inutilisées. ApplicationTypeVersionsCleanupPolicy
azureActiveDirectory Paramètres d’authentification AAD du cluster. AzureActiveDirectory
certificat Certificat à utiliser pour sécuriser le cluster. Le certificat fourni sera utilisé pour la sécurité de nœud à nœud au sein du cluster, le certificat SSL pour le point de terminaison de gestion du cluster et le client d’administration par défaut. CertificateDescription
certificateCommonNames Décrit une liste de certificats de serveur référencés par un nom commun qui sont utilisés pour sécuriser le cluster. ServerCertificateCommonNames
clientCertificateCommonNames Liste des certificats clients référencés par nom commun autorisés à gérer le cluster. ClientCertificateCommonName[]
clientCertificateThumbprints Liste des certificats clients référencés par l’empreinte numérique autorisés à gérer le cluster. ClientCertificateThumbprint[]
clusterCodeVersion Version du runtime Service Fabric du cluster. Cette propriété ne peut définir l’utilisateur que lorsque upgradeMode a la valeur « Manual ». Pour obtenir la liste des versions de Service Fabric disponibles pour les nouveaux clusters, utilisez l’API ClusterVersion. Pour obtenir la liste des versions disponibles pour les clusters existants, utilisez availableClusterVersions. string
diagnosticsStorageAccountConfig Informations de compte de stockage pour le stockage des journaux de diagnostic Service Fabric. DiagnosticsStorageAccountConfig
eventStoreServiceEnabled Indique si le service de magasin d’événements est activé. bool
fabricSettings Liste des paramètres d’infrastructure personnalisés pour configurer le cluster. SettingsSectionDescription[]
managementEndpoint Point de terminaison de gestion http du cluster. string (obligatoire)
nodeTypes Liste des types de nœuds dans le cluster. NodeTypeDescription[] (obligatoire)
reliabilityLevel Le niveau de fiabilité définit la taille d’ensemble réplica des services système. En savoir plus sur ReliabilityLevel.

- Aucun : exécutez les services système avec un nombre de réplica défini cible de 1. Cela ne doit être utilisé que pour les clusters de test.
- Bronze : exécutez les services système avec une cible réplica nombre défini de 3. Cela ne doit être utilisé que pour les clusters de test.
- Silver : exécutez les services système avec une cible réplica nombre défini de 5.
- Gold : exécutez les services système avec une cible réplica nombre défini de 7.
- Platinum : exécutez les services système avec une cible réplica nombre défini de 9.
« Bronze »
« Or »
"None"
« Platinum »
"Silver"
reverseProxyCertificate Certificat de serveur utilisé par le proxy inverse. CertificateDescription
reverseProxyCertificateCommonNames Décrit une liste de certificats de serveur référencés par un nom commun qui sont utilisés pour sécuriser le cluster. ServerCertificateCommonNames
upgradeDescription Stratégie à utiliser lors de la mise à niveau du cluster. ClusterUpgradePolicy
upgradeMode Mode de mise à niveau du cluster lorsque la nouvelle version du runtime Service Fabric est disponible.

- Automatique : le cluster sera automatiquement mis à niveau vers la dernière version du runtime Service Fabric dès qu’elle sera disponible.
- Manuel : le cluster ne sera pas automatiquement mis à niveau vers la dernière version du runtime Service Fabric. Le cluster est mis à niveau en définissant la propriété clusterCodeVersion dans la ressource de cluster.
« Automatique »
« Manuel »
vmImage L’image de machine virtuelle VMSS a été configurée avec. Des noms génériques tels que Windows ou Linux peuvent être utilisés. string

ApplicationTypeVersionsCleanupPolicy

Nom Description Valeur
maxUnusedVersionsToKeep Nombre de versions inutilisées par type d’application à conserver. int (obligatoire)

Contraintes :
Valeur minimale = 0

AzureActiveDirectory

Nom Description Valeur
clientApplication ID d’application cliente Azure Active Directory. string
clusterApplication ID d’application du cluster Azure Active Directory. string
tenantId ID de locataire Azure Active Directory. string

CertificateDescription

Nom Description Valeur
thumbprint Empreinte numérique du certificat principal. string (obligatoire)
thumbprintSecondary Empreinte numérique du certificat secondaire. string
x509StoreName Emplacement du magasin de certificats local. « AddressBook »
« AuthRoot »
« CertificateAuthority »
« Non autorisé »
« Mon »
« Racine »
« TrustedPeople »
« TrustedPublisher »

ServerCertificateCommonNames

Nom Description Valeur
commonNames Liste des certificats de serveur référencés par un nom commun qui sont utilisés pour sécuriser le cluster. ServerCertificateCommonName[]
x509StoreName Emplacement du magasin de certificats local. « Carnet d’adresses »
« AuthRoot »
« CertificateAuthority »
« Non autorisé »
« Mon »
« Racine »
« TrustedPeople »
« TrustedPublisher »

ServerCertificateCommonName

Nom Description Valeur
certificateCommonName Nom commun du certificat de serveur. chaîne (obligatoire)
certificateIssuerThumbprint Empreinte numérique de l’émetteur du certificat de serveur. chaîne (obligatoire)

ClientCertificateCommonName

Nom Description Valeur
certificateCommonName Nom commun du certificat client. chaîne (obligatoire)
certificateIssuerThumbprint Empreinte de l’émetteur du certificat client. chaîne (obligatoire)
isAdmin Indique si le certificat client dispose d’un accès administrateur au cluster. Les clients non administrateurs peuvent effectuer uniquement des opérations en lecture seule sur le cluster. bool (obligatoire)

ClientCertificateThumbprint

Nom Description Valeur
certificateThumbprint Empreinte numérique du certificat client. chaîne (obligatoire)
isAdmin Indique si le certificat client dispose d’un accès administrateur au cluster. Les clients non administrateurs peuvent effectuer uniquement des opérations en lecture seule sur le cluster. bool (obligatoire)

DiagnosticsStorageAccountConfig

Nom Description Valeur
blobEndpoint Point de terminaison d’objet blob du compte de stockage Azure. chaîne (obligatoire)
protectedAccountKeyName Nom de clé de stockage protégé diagnostics. chaîne (obligatoire)
protectedAccountKeyName2 Nom de clé de stockage secondaire protégé diagnostics. Si l’une des clés de compte de stockage est pivotée, le cluster sera de secours à l’aide de l’autre. string
queueEndpoint Point de terminaison de file d’attente du compte de stockage Azure. chaîne (obligatoire)
storageAccountName Nom du compte de stockage Azure. chaîne (obligatoire)
tableEndpoint Point de terminaison de table du compte de stockage Azure. chaîne (obligatoire)

SettingsSectionDescription

Nom Description Valeur
name Nom de section des paramètres de l’infrastructure. chaîne (obligatoire)
parameters Collection de paramètres dans la section. SettingsParameterDescription[] (obligatoire)

ParamètresParameterDescription

Nom Description Valeur
name Nom de paramètre du paramètre de l’infrastructure. chaîne (obligatoire)
value Valeur du paramètre du paramètre de l’infrastructure. chaîne (obligatoire)

NodeTypeDescription

Nom Description Valeur
applicationPorts Plage de ports à partir desquels le cluster a attribué un port aux applications Service Fabric. EndpointRangeDescription
capacities Balises de capacité appliquées aux nœuds dans le type de nœud. Le gestionnaire de ressources de cluster utilise ces balises pour comprendre la quantité de ressources d’un nœud. NodeTypeDescriptionCapacities
clientConnectionEndpointPort Port du point de terminaison de gestion du cluster TCP. int (obligatoire)
durabilityLevel Niveau de durabilité du type de nœud. En savoir plus sur DurabilityLevel.

- Bronze - Aucun privilège. Il s’agit de la valeur par défaut.
- Argent : les travaux d’infrastructure peuvent être suspendus pendant une durée de 10 minutes par UD.
- Gold - Les travaux d’infrastructure peuvent être suspendus pendant une durée de 2 heures par UD. La durabilité Gold ne peut être activée que sur les références de machine virtuelle à nœud complet comme D15_V2, G5, etc.
« Bronze »
« Or »
"Silver"
ephemeralPorts Plage de ports éphémères que les nœuds de ce type de nœud doivent être configurés. EndpointRangeDescription
httpGatewayEndpointPort Port du point de terminaison de gestion du cluster HTTP. int (obligatoire)
isPrimary Type de nœud sur lequel les services système s’exécuteront. Un seul type de nœud doit être marqué comme principal. Le type de nœud principal ne peut pas être supprimé ou modifié pour les clusters existants. bool (obligatoire)
name Nom du type de nœud. chaîne (obligatoire)
placementProperties Balises de placement appliquées aux nœuds du type de nœud, qui peuvent être utilisées pour indiquer où certains services (charge de travail) doivent s’exécuter. NodeTypeDescriptionPlacementProperties
reverseProxyEndpointPort Point de terminaison utilisé par le proxy inverse. int
vmInstanceCount Nombre de nœuds dans le type de nœud. Ce nombre doit correspondre à la propriété de capacité dans la ressource VirtualMachineScaleSet correspondante. int (obligatoire)

Contraintes :
Valeur minimale = 1
Valeur maximale = 2147483647

EndpointRangeDescription

Nom Description Valeur
endPort Port de fin d’une plage de ports int (obligatoire)
startPort Port de départ d’une plage de ports int (obligatoire)

NodeTypeDescriptionCapacities

Nom Description Valeur
{propriété personnalisée} string

NodeTypeDescriptionPlacementProperties

Nom Description Valeur
{propriété personnalisée} string

ClusterUpgradePolicy

Nom Description Valeur
deltaHealthPolicy Stratégie d’intégrité delta du cluster utilisée lors de la mise à niveau du cluster. ClusterUpgradeDeltaHealthPolicy
forceRestart Si la valeur est true, les processus sont redémarrés de force pendant la mise à niveau même si la version du code n’a pas changé (la mise à niveau modifie uniquement la configuration ou les données). bool
healthCheckRetryTimeout Durée de la nouvelle tentative d’évaluation de l’intégrité lorsque l’application ou le cluster est défectueux avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthCheckStableDuration Durée pendant laquelle l’application ou le cluster doivent rester sains avant que la mise à niveau ne passe au domaine de mise à niveau suivant. La durée peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthCheckWaitDuration Durée d’attente après avoir terminé un domaine de mise à niveau avant d’effectuer des vérifications d’intégrité. La durée peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. chaîne (obligatoire)
healthPolicy Stratégie d’intégrité du cluster utilisée lors de la mise à niveau du cluster. ClusterHealthPolicy (obligatoire)
upgradeDomainTimeout Durée pendant laquelle chaque domaine de mise à niveau doit se terminer avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. string (obligatoire)
upgradeReplicaSetCheckTimeout Durée maximale pendant laquelle bloquer le traitement d’un domaine de mise à niveau et éviter la perte de disponibilité en cas de problèmes inattendus. Lorsque ce délai d’attente expire, le traitement du domaine de mise à niveau se poursuit, indépendamment des problèmes de perte de disponibilité. Le délai d’expiration est réinitialisé au début de chaque domaine de mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. string (obligatoire)
upgradeTimeout Durée pendant laquelle la mise à niveau globale doit se terminer avant la restauration de la mise à niveau. Le délai d’expiration peut être au format hh :mm :ss ou au format d.hh :mm :ss.ms. string (obligatoire)

ClusterUpgradeDeltaHealthPolicy

Nom Description Valeur
applicationDeltaHealthPolicies Définit la carte de stratégie d’intégrité delta d’application utilisée pour évaluer l’intégrité d’une application ou de l’une de ses entités enfants lors de la mise à niveau du cluster. ApplicationDeltaHealthPolicyMap
maxPercentDeltaUnhealthyApplications Pourcentage maximal autorisé de dégradation de l’intégrité des applications pendant les mises à niveau du cluster.
Le delta est mesuré entre l’état des applications au début de la mise à niveau et l’état des applications au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées. Les services système ne sont pas inclus dans ce.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentDeltaUnhealthyNodes Pourcentage maximal autorisé de dégradation de l’intégrité des nœuds pendant les mises à niveau de clusters.
Le delta est mesuré entre l’état des nœuds au début de la mise à niveau et l’état des nœuds au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentUpgradeDomainDeltaUnhealthyNodes Pourcentage maximal autorisé de dégradation de l’intégrité des nœuds de domaine de mise à niveau pendant les mises à niveau de clusters.
Le delta est mesuré entre l’état des nœuds de domaine de mise à niveau au début de la mise à niveau et leur état au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau (pour l’ensemble des domaines de mise à niveau) afin de vérifier que l’état des domaines de mise à niveau se trouve dans les limites autorisées.
int (obligatoire)

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ApplicationDeltaHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ApplicationDeltaHealthPolicy

ApplicationDeltaHealthPolicy

Nom Description Valeur
defaultServiceTypeDeltaHealthPolicy Stratégie d’intégrité delta utilisée par défaut pour évaluer l’intégrité d’un type de service lors de la mise à niveau du cluster. ServiceTypeDeltaHealthPolicy
serviceTypeDeltaHealthPolicies Mapper avec la stratégie d’intégrité delta de type de service par nom de type de service. Par défaut, le mappage est vide. ServiceTypeDeltaHealthPolicyMap

ServiceTypeDeltaHealthPolicy

Nom Description Valeur
maxPercentDeltaUnhealthyServices Pourcentage maximal autorisé de dégradation de l’intégrité des services pendant les mises à niveau du cluster.
Le delta est mesuré entre l’état des services au début de la mise à niveau et l’état des services au moment de l’évaluation de l’intégrité.
Cette vérification est effectuée après chaque mise à niveau de domaine de mise à niveau afin de vérifier que l’état global du cluster se trouve dans les limites autorisées.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ServiceTypeDeltaHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ServiceTypeDeltaHealthPolicy

ClusterHealthPolicy

Nom Description Valeur
applicationHealthPolicies Définit le mappage de stratégie d’intégrité de l’application utilisé pour évaluer l’intégrité d’une application ou de l’une de ses entités enfants. ApplicationHealthPolicyMap
maxPercentUnhealthyApplications Pourcentage maximal autorisé d’applications non saines avant signalement d’une erreur. Par exemple, pour autoriser 10 % des applications pouvant être défectueuses, cette valeur serait de 10.

Il s’agit du pourcentage maximum toléré d’applications pouvant être défectueuses avant que l’intégrité du cluster ne soit considérée comme étant à l’état Error.
Si le pourcentage est respecté mais qu’il existe au moins une application pouvant être défectueuse, l’état d’intégrité est Warning.
Ce calcul est effectué en divisant le nombre d’applications pouvant être défectueuses par le nombre total d’instances de l’application dans le cluster, à l’exception des types d’applications inclus dans le ApplicationTypeHealthPolicyMap.
Le calcul est arrondi pour tolérer la défaillance d’un petit nombre d’applications. Le pourcentage par défaut est zéro.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100
maxPercentUnhealthyNodes Pourcentage maximal autorisé de nœuds non sains avant signalement d’une erreur. Par exemple, pour autoriser 10 % de nœuds défectueux, cette valeur serait de 10.

Il s’agit du pourcentage maximum toléré de nœuds pouvant être défectueux avant que l’intégrité du cluster ne soit considérée comme étant à l’état Error.
Si le pourcentage est respecté mais qu’il existe au moins un nœud pouvant être défectueux, l’état d’intégrité est Warning.
Le pourcentage est calculé en divisant le nombre de nœuds défectueux par le nombre total de nœuds du cluster.
Le calcul est arrondi pour tolérer une défaillance sur un petit nombre de nœuds. Le pourcentage par défaut est zéro.

Dans les clusters de grande taille, certains nœuds sont toujours inactifs ou en réparation. Ce pourcentage doit donc être configuré pour tolérer cette condition.
int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ApplicationHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ApplicationHealthPolicy

ApplicationHealthPolicy

Nom Description Valeur
defaultServiceTypeHealthPolicy Stratégie d’intégrité utilisée par défaut pour évaluer l’intégrité d’un type de service. ServiceTypeHealthPolicy
serviceTypeHealthPolicies Mapper avec la stratégie d’intégrité de type de service par nom de type de service. Par défaut, le mappage est vide. ServiceTypeHealthPolicyMap

ServiceTypeHealthPolicy

Nom Description Valeur
maxPercentUnhealthyServices Pourcentage maximal de services autorisés à être défectueux avant que votre application ne soit considérée comme étant erronée. int

Contraintes :
Valeur minimale = 0
Valeur maximale = 100

ServiceTypeHealthPolicyMap

Nom Description Valeur
{propriété personnalisée} ServiceTypeHealthPolicy