Clusters Microsoft.ServiceFabric 2020-12-01-preview
Definição de recurso do Bicep
O tipo de recurso clusters pode ser implantado com operações direcionadas:
- Grupos de recursos – Consulte comandos de implantação do grupo de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.
Formato de recurso
Para criar um recurso Microsoft.ServiceFabric/clusters, adicione o Bicep a seguir ao modelo.
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'
}
}
Valores de propriedade
clusters
Nome | Descrição | Valor |
---|---|---|
name | O nome do recurso | cadeia de caracteres (obrigatório) Limite de caracteres: 4 a 23 Caracteres válidos: Letras minúsculas, números e hifens. Comece com uma letra minúscula. Termine com letra minúscula ou número. |
local | Local do recurso do Azure. | cadeia de caracteres (obrigatório) |
marcas | Marcas de recurso do Azure. | Dicionário de nomes e valores de marcas. Consulte Marcas em modelos |
properties | As propriedades do recurso de cluster | ClusterProperties |
ClusterProperties
Nome | Descrição | Valor |
---|---|---|
addOnFeatures | A lista de recursos de complemento a serem habilitados no cluster. | Matriz de cadeia de caracteres que contém qualquer um dos: 'BackupRestoreService' 'DnsService' 'RepairManager' 'ResourceMonitorService' |
applicationTypeVersionsCleanupPolicy | A política usada para limpo versões não utilizadas. | ApplicationTypeVersionsCleanupPolicy |
azureActiveDirectory | As configurações de autenticação do AAD do cluster. | AzureActiveDirectory |
certificado | O certificado a ser usado para proteger o cluster. O certificado fornecido será usado para o nó para a segurança do nó dentro do cluster, o certificado SSL para o ponto de extremidade de gerenciamento de cluster e o cliente de administrador padrão. | CertificateDescription |
certificateCommonNames | Descreve uma lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonNames |
clientCertificateCommonNames | A lista de certificados de cliente referenciados por nome comum que têm permissão para gerenciar o cluster. | ClientCertificateCommonName[] |
clientCertificateThumbprints | A lista de certificados de cliente referenciados por impressão digital que têm permissão para gerenciar o cluster. | ClientCertificateThumbprint[] |
clusterCodeVersion | A versão de runtime do Service Fabric do cluster. Essa propriedade só pode definir o usuário quando upgradeMode estiver definido como 'Manual'. Para obter uma lista das versões disponíveis do Service Fabric para novos clusters, use a API ClusterVersion. Para obter a lista de versões disponíveis para clusters existentes, use ClusterVersions disponíveis. | string |
diagnosticsStorageAccountConfig | As informações da conta de armazenamento para armazenar logs de diagnóstico do Service Fabric. | DiagnosticsStorageAccountConfig |
eventStoreServiceEnabled | Indica se o serviço de repositório de eventos está habilitado. | bool |
fabricSettings | A lista de configurações de malha personalizadas para definir o cluster. | SettingsSectionDescription[] |
managementEndpoint | O ponto de extremidade de gerenciamento http do cluster. | cadeia de caracteres (obrigatório) |
Nodetypes | A lista de tipos de nó no cluster. | NodeTypeDescription[] (obrigatório) |
reliabilityLevel | O nível de confiabilidade define o tamanho réplica conjunto de serviços do sistema. Saiba mais sobre ReliabilityLevel. - Nenhum – execute os serviços do Sistema com um destino réplica contagem de conjuntos de 1. Isso só deve ser usado para clusters de teste. – Bronze – execute os serviços do Sistema com uma contagem de réplica conjunto de destino de 3. Isso só deve ser usado para clusters de teste. – Prata – execute os serviços do Sistema com uma contagem de réplica conjunto de réplica de destino de 5. - Ouro – execute os serviços do Sistema com uma contagem de réplica conjunto de réplica de 7. - Platinum - Execute os serviços do Sistema com uma contagem de réplica conjunto de destino de 9. |
'Bronze' 'Gold' 'None' 'Platinum' 'Silver' |
reverseProxyCertificate | O certificado do servidor usado pelo proxy reverso. | CertificateDescription |
reverseProxyCertificateCommonNames | Descreve uma lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonNames |
upgradeDescription | A política a ser usada ao atualizar o cluster. | ClusterUpgradePolicy |
upgradeMode | O modo de atualização do cluster quando a nova versão de runtime do Service Fabric estiver disponível. – Automático – o cluster será atualizado automaticamente para a versão de runtime mais recente do Service Fabric assim que estiver disponível. – Manual – o cluster não será atualizado automaticamente para a versão mais recente do runtime do Service Fabric. O cluster é atualizado definindo a propriedade clusterCodeVersion no recurso de cluster. |
'Automático' 'Manual' |
vmImage | A VMSS de imagem da VM foi configurada com. Nomes genéricos, como Windows ou Linux, podem ser usados. | string |
ApplicationTypeVersionsCleanupPolicy
Nome | Descrição | Valor |
---|---|---|
maxUnusedVersionsToKeep | Número de versões não utilizados por tipo de aplicativo a serem mantidas. | int (obrigatório) Restrições: Valor mínimo = 0 |
AzureActiveDirectory
Nome | Descrição | Valor |
---|---|---|
clientApplication | ID do aplicativo cliente do Azure Active Directory. | string |
clusterApplication | ID do aplicativo de cluster do Azure Active Directory. | string |
tenantId | ID de locatário do Azure Active Directory. | string |
CertificateDescription
Nome | Descrição | Valor |
---|---|---|
thumbprint | Impressão digital do certificado primário. | cadeia de caracteres (obrigatório) |
thumbprintSecondary | Impressão digital do certificado secundário. | string |
x509StoreName | O local do repositório de certificados. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' 'Não permitido' 'My' 'Raiz' 'TrustedPeople' 'TrustedPublisher' |
ServerCertificateCommonNames
Nome | Descrição | Valor |
---|---|---|
commonNames | A lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonName[] |
x509StoreName | O local do repositório de certificados. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' 'Não permitido' 'My' 'Raiz' 'TrustedPeople' 'TrustedPublisher' |
ServerCertificateCommonName
Nome | Descrição | Valor |
---|---|---|
certificateCommonName | O nome comum do certificado do servidor. | cadeia de caracteres (obrigatório) |
certificateIssuerThumbprint | A impressão digital do emissor do certificado do servidor. | cadeia de caracteres (obrigatório) |
ClientCertificateCommonName
Nome | Descrição | Valor |
---|---|---|
certificateCommonName | O nome comum do certificado do cliente. | cadeia de caracteres (obrigatório) |
certificateIssuerThumbprint | A impressão digital do emissor do certificado do cliente. | cadeia de caracteres (obrigatório) |
isAdmin | Indica se o certificado do cliente tem acesso de administrador ao cluster. Clientes não administradores só podem executar operações somente leitura no cluster. | bool (obrigatório) |
ClientCertificateThumbprint
Nome | Descrição | Valor |
---|---|---|
certificateThumbprint | A impressão digital do certificado do cliente. | cadeia de caracteres (obrigatório) |
isAdmin | Indica se o certificado do cliente tem acesso de administrador ao cluster. Clientes não administradores só podem executar operações somente leitura no cluster. | bool (obrigatório) |
DiagnosticsStorageAccountConfig
Nome | Descrição | Valor |
---|---|---|
blobEndpoint | O ponto de extremidade de blob da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
protectedAccountKeyName | O nome da chave de armazenamento diagnóstico protegida. | cadeia de caracteres (obrigatório) |
protectedAccountKeyName2 | O secundário protegido diagnóstico nome da chave de armazenamento. Se uma das chaves da conta de armazenamento for girada, o cluster fará fallback para usar a outra. | string |
queueEndpoint | O ponto de extremidade da fila da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
storageAccountName | O nome da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
tableEndpoint | O ponto de extremidade da tabela da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
SettingsSectionDescription
Nome | Descrição | Valor |
---|---|---|
name | O nome da seção das configurações de malha. | cadeia de caracteres (obrigatório) |
parameters | A coleção de parâmetros na seção . | SettingsParameterDescription[] (obrigatório) |
SettingsParameterDescription
Nome | Descrição | Valor |
---|---|---|
name | O nome do parâmetro da configuração de malha. | cadeia de caracteres (obrigatório) |
value | O valor do parâmetro da configuração de malha. | cadeia de caracteres (obrigatório) |
NodeTypeDescription
Nome | Descrição | Valor |
---|---|---|
applicationPorts | O intervalo de portas das quais o cluster atribuiu a porta aos aplicativos do Service Fabric. | EndpointRangeDescription |
capacities | As marcas de capacidade aplicadas aos nós no tipo de nó, o gerenciador de recursos de cluster usa essas marcas para entender quanto recurso um nó tem. | NodeTypeDescriptionCapacities |
clientConnectionEndpointPort | A porta do ponto de extremidade de gerenciamento de cluster TCP. | int (obrigatório) |
durabilityLevel | O nível de durabilidade do tipo de nó. Saiba mais sobre DurabilityLevel. - Bronze - Sem privilégios. Esse é o padrão. - Prata - Os trabalhos de infraestrutura podem ser pausados por uma duração de 10 minutos por UD. - Ouro - Os trabalhos de infraestrutura podem ser pausados por uma duração de 2 horas por UD. A durabilidade ouro pode ser habilitada apenas em skus de VM de nó completo como D15_V2, G5 etc. |
'Bronze' 'Ouro' 'Silver' |
ephemeralPorts | O intervalo de portas efêmeras com as quais os nós nesse tipo de nó devem ser configurados. | EndpointRangeDescription |
httpGatewayEndpointPort | A porta do ponto de extremidade de gerenciamento de cluster HTTP. | int (obrigatório) |
isPrimary | O tipo de nó no qual os serviços do sistema serão executados. Apenas um tipo de nó deve ser marcado como primário. O tipo de nó primário não pode ser excluído ou alterado para clusters existentes. | bool (obrigatório) |
name | O nome do tipo de nó. | cadeia de caracteres (obrigatório) |
placementProperties | As marcas de posicionamento aplicadas a nós no tipo de nó, que podem ser usadas para indicar onde determinados serviços (carga de trabalho) devem ser executados. | NodeTypeDescriptionPlacementProperties |
reverseProxyEndpointPort | O ponto de extremidade usado pelo proxy reverso. | INT |
vmInstanceCount | O número de nós no tipo de nó. Essa contagem deve corresponder à propriedade de capacidade no recurso VirtualMachineScaleSet correspondente. | int (obrigatório) Restrições: Valor mínimo = 1 Valor máximo = 2147483647 |
EndpointRangeDescription
Nome | Descrição | Valor |
---|---|---|
endPort | Porta final de um intervalo de portas | int (obrigatório) |
startPort | Porta inicial de um intervalo de portas | int (obrigatório) |
NodeTypeDescriptionCapacities
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
NodeTypeDescriptionPlacementProperties
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
ClusterUpgradePolicy
Nome | Descrição | Valor |
---|---|---|
deltaHealthPolicy | A política de integridade delta do cluster usada ao atualizar o cluster. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | Se for true, os processos serão reiniciados com força durante a atualização mesmo quando a versão do código não tiver sido alterada (a atualização apenas altera a configuração ou os dados). | bool |
healthCheckRetryTimeout | A quantidade de tempo para tentar novamente a avaliação de integridade quando o aplicativo ou cluster não estiver íntegro antes que a atualização seja revertida. O tempo limite pode estar no formato hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthCheckStableDuration | A quantidade de tempo que o aplicativo ou o cluster deve permanecer íntegro antes que a atualização passe para o próximo domínio de atualização. A duração pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthCheckWaitDuration | O tempo de espera após a conclusão de um domínio de atualização antes de executar verificações de integridade. A duração pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthPolicy | A política de integridade do cluster usada ao atualizar o cluster. | ClusterHealthPolicy (obrigatório) |
upgradeDomainTimeout | A quantidade de tempo que cada domínio de atualização precisa concluir antes que a atualização seja revertida. O tempo limite pode estar no formato hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
upgradeReplicaSetCheckTimeout | A quantidade máxima de tempo para bloqueio do processamento de um domínio de atualização e prevenção da perda de disponibilidade quando houver problemas inesperados. Quando esse tempo limite expira, o processamento do domínio de atualização continua, independentemente de problemas de perda de disponibilidade. O tempo limite será redefinido no início de cada domínio de atualização. O tempo limite pode estar no formato hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
upgradeTimeout | A quantidade de tempo que a atualização geral precisa ser concluída antes que a atualização seja revertida. O tempo limite pode estar no formato hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
ClusterUpgradeDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
applicationDeltaHealthPolicies | Define o mapa da política de integridade delta do aplicativo usado para avaliar a integridade de um aplicativo ou de uma de suas entidades filho ao atualizar o cluster. | ApplicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | O percentual máximo permitido de degradação da integridade dos aplicativos permitido durante as atualizações de cluster. O delta é medido entre o estado dos aplicativos no início da atualização e o estado dos aplicativos no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. Os serviços do sistema não estão incluídos nisso. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentDeltaUnhealthyNodes | O percentual máximo permitido de degradação de integridade de nós permitida durante os upgrades do cluster. O delta é medido entre o estado de nós no início da atualização e o estado de nós no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentUpgradeDomainDeltaUnhealthyNodes | O percentual máximo permitido de degradação de integridade de nós de domínio de atualização permitida durante os upgrades do cluster. O delta é medido entre o estado de nós do domínio do upgrade no início do upgrade e o estado dos nós no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para todos os domínios de atualização concluídos para garantir que o estado dos domínios de atualização esteja dentro dos limites tolerados. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
ApplicationDeltaHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ApplicationDeltaHealthPolicy |
ApplicationDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
defaultServiceTypeDeltaHealthPolicy | A política de integridade delta usada por padrão para avaliar a integridade de um tipo de serviço ao atualizar o cluster. | ServiceTypeDeltaHealthPolicy |
serviceTypeDeltaHealthPolicies | O mapa com o tipo de serviço de política de integridade delta por nome de tipo de serviço. O mapa está vazio por padrão. | ServiceTypeDeltaHealthPolicyMap |
ServiceTypeDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
maxPercentDeltaUnhealthyServices | O percentual máximo permitido de degradação de integridade dos serviços permitido durante as atualizações de cluster. O delta é medido entre o estado dos serviços no início da atualização e o estado dos serviços no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ServiceTypeDeltaHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ServiceTypeDeltaHealthPolicy |
ClusterHealthPolicy
Nome | Descrição | Valor |
---|---|---|
applicationHealthPolicies | Define o mapa da política de integridade do aplicativo usado para avaliar a integridade de um aplicativo ou de uma de suas entidades filho. | ApplicationHealthPolicyMap |
maxPercentUnhealthyApplications | O percentual máximo permitido de aplicativos não íntegros antes de relatar um erro. Por exemplo, para permitir que 10% dos aplicativos sejam problemáticos, esse valor seria 10. A porcentagem representa o máximo tolerado de aplicativos que podem estar não íntegros antes de o cluster ser considerado com erro. Se a porcentagem for respeitada, mas houver pelo menos um aplicativo não íntegro, a integridade será avaliada como ‘Aviso’. Isso é calculado dividindo o número de aplicativos problemáticos pelo número total de instâncias do aplicativo no cluster, exceto aplicativos de tipos de aplicativos que estão incluídos no ApplicationTypeHealthPolicyMap. O cálculo é arredondado para cima para tolerar uma falha em um número pequeno de aplicativos. A porcentagem padrão é zero. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentUnhealthyNodes | O percentual máximo permitido de nós não íntegros antes de relatar um erro. Por exemplo, para permitir que 10% dos nós sejam problemáticos, esse valor seria 10. A porcentagem representa o máximo tolerado de nós que podem estar não íntegros antes de o cluster ser considerado com erro. Se a porcentagem for respeitada, mas houver pelo menos um nó não íntegro, a integridade será avaliada como ‘Aviso’. Este percentual é calculado pela divisão do número de nós não íntegros pelo número total de nós no cluster. O cálculo é arredondado para cima para tolerar uma falha em um número pequeno de nós. A porcentagem padrão é zero. Em clusters grandes, alguns nós sempre estarão inoperantes ou ausentes para reparos, de modo que esse percentual deve ser configurado para tolerá-los. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ApplicationHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ApplicationHealthPolicy |
ApplicationHealthPolicy
Nome | Descrição | Valor |
---|---|---|
defaultServiceTypeHealthPolicy | A política de integridade usada por padrão para avaliar a integridade de um tipo de serviço. | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | O mapa com a política de integridade do tipo de serviço por nome do tipo de serviço. O mapa está vazio por padrão. | ServiceTypeHealthPolicyMap |
ServiceTypeHealthPolicy
Nome | Descrição | Valor |
---|---|---|
maxPercentUnhealthyServices | O percentual máximo de serviços permitidos para não estar íntegro antes que seu aplicativo seja considerado um erro. | INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ServiceTypeHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ServiceTypeHealthPolicy |
Modelos de início rápido
Os modelos de início rápido a seguir implantam esse tipo de recurso.
Modelo | Descrição |
---|---|
Implantar um cluster do Ubuntu Service Fabric de 5 nós |
Esse modelo permite implantar um Cluster do Service Fabric de cinco nós seguro executando o Ubuntu em um VMSS de tamanho Standard_D2_V2. |
Implantar um cluster seguro de 5 nós |
Este modelo permite implantar um Cluster do Service Fabric de cinco nós seguro executando o Datacenter do Windows Server 2019 em uma VMSS de tamanho Standard_D2_v2. |
Implantar um cluster seguro nodetype 3 com NSGs habilitados |
Este modelo permite implantar um cluster seguro de malha do Serviço de 3 nós executando o Data center do Windows Server 2016 em uma Standard_D2 VMs de tamanho. Usar este modelo permite que você controle ro o tráfego de rede de entrada e saída usando Grupos de Segurança de Rede. |
Definição de recurso de modelo do ARM
O tipo de recurso clusters pode ser implantado com operações direcionadas:
- Grupos de recursos – Consulte comandos de implantação do grupo de recursos
Para obter uma lista de propriedades alteradas em cada versão da API, consulte log de alterações.
Formato de recurso
Para criar um recurso Microsoft.ServiceFabric/clusters, adicione o JSON a seguir ao modelo.
{
"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"
}
}
Valores de propriedade
clusters
Nome | Descrição | Valor |
---|---|---|
tipo | O tipo de recurso | 'Microsoft.ServiceFabric/clusters' |
apiVersion | A versão da API de recursos | '2020-12-01-preview' |
name | O nome do recurso | cadeia de caracteres (obrigatório) Limite de caracteres: 4 a 23 Caracteres válidos: Letras minúsculas, números e hifens. Comece com uma letra minúscula. Termine com letra minúscula ou número. |
local | Local do recurso do Azure. | cadeia de caracteres (obrigatório) |
marcas | Marcas de recurso do Azure. | Dicionário de nomes e valores de marcas. Consulte Marcas em modelos |
properties | As propriedades do recurso de cluster | ClusterProperties |
ClusterProperties
Nome | Descrição | Valor |
---|---|---|
addOnFeatures | A lista de recursos de complemento a serem habilitados no cluster. | Matriz de cadeia de caracteres que contém qualquer um dos: 'BackupRestoreService' 'DnsService' 'RepairManager' 'ResourceMonitorService' |
applicationTypeVersionsCleanupPolicy | A política usada para limpo versões não utilizadas. | ApplicationTypeVersionsCleanupPolicy |
azureActiveDirectory | As configurações de autenticação do AAD do cluster. | AzureActiveDirectory |
certificado | O certificado a ser usado para proteger o cluster. O certificado fornecido será usado para o nó para a segurança do nó dentro do cluster, o certificado SSL para o ponto de extremidade de gerenciamento de cluster e o cliente de administrador padrão. | CertificateDescription |
certificateCommonNames | Descreve uma lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonNames |
clientCertificateCommonNames | A lista de certificados de cliente referenciados por nome comum que têm permissão para gerenciar o cluster. | ClientCertificateCommonName[] |
clientCertificateThumbprints | A lista de certificados de cliente referenciados por impressão digital que têm permissão para gerenciar o cluster. | ClientCertificateThumbprint[] |
clusterCodeVersion | A versão de runtime do Service Fabric do cluster. Essa propriedade só pode definir o usuário quando upgradeMode estiver definido como 'Manual'. Para obter uma lista das versões disponíveis do Service Fabric para novos clusters, use a API ClusterVersion. Para obter a lista de versões disponíveis para clusters existentes, use ClusterVersions disponíveis. | string |
diagnosticsStorageAccountConfig | As informações da conta de armazenamento para armazenar logs de diagnóstico do Service Fabric. | DiagnosticsStorageAccountConfig |
eventStoreServiceEnabled | Indica se o serviço de repositório de eventos está habilitado. | bool |
fabricSettings | A lista de configurações de malha personalizadas para definir o cluster. | SettingsSectionDescription[] |
managementEndpoint | O ponto de extremidade de gerenciamento http do cluster. | cadeia de caracteres (obrigatório) |
Nodetypes | A lista de tipos de nó no cluster. | NodeTypeDescription[] (obrigatório) |
reliabilityLevel | O nível de confiabilidade define o tamanho réplica conjunto de serviços do sistema. Saiba mais sobre ReliabilityLevel. - Nenhum - Execute os serviços do Sistema com um destino réplica contagem de conjuntos de 1. Isso só deve ser usado para clusters de teste. – Bronze – execute os serviços do Sistema com um destino réplica contagem de conjuntos de 3. Isso só deve ser usado para clusters de teste. – Prata – execute os serviços do Sistema com um destino réplica contagem definida de 5. – Ouro – execute os serviços do Sistema com um destino réplica contagem de conjuntos de 7. - Platinum - Execute os serviços do Sistema com um destino réplica contagem definida de 9. |
'Bronze' 'Ouro' 'None' 'Platinum' 'Silver' |
reverseProxyCertificate | O certificado do servidor usado pelo proxy reverso. | CertificateDescription |
reverseProxyCertificateCommonNames | Descreve uma lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonNames |
upgradeDescription | A política a ser usada ao atualizar o cluster. | ClusterUpgradePolicy |
upgradeMode | O modo de atualização do cluster quando a nova versão de runtime do Service Fabric está disponível. – Automático – O cluster será atualizado automaticamente para a versão de runtime mais recente do Service Fabric assim que estiver disponível. - Manual - O cluster não será atualizado automaticamente para a versão mais recente do runtime do Service Fabric. O cluster é atualizado definindo a propriedade clusterCodeVersion no recurso de cluster. |
'Automático' 'Manual' |
vmImage | A imagem da VM VM com a qual o VMSS foi configurado. Nomes genéricos, como Windows ou Linux, podem ser usados. | string |
ApplicationTypeVersionsCleanupPolicy
Nome | Descrição | Valor |
---|---|---|
maxUnusedVersionsToKeep | Número de versões não utilizados por tipo de aplicativo a serem mantidas. | int (obrigatório) Restrições: Valor mínimo = 0 |
AzureActiveDirectory
Nome | Descrição | Valor |
---|---|---|
clientApplication | ID do aplicativo cliente do Azure Active Directory. | string |
clusterApplication | ID do aplicativo de cluster do Azure Active Directory. | string |
tenantId | ID do locatário do Azure Active Directory. | string |
CertificateDescription
Nome | Descrição | Valor |
---|---|---|
thumbprint | Impressão digital do certificado primário. | cadeia de caracteres (obrigatório) |
thumbprintSecondary | Impressão digital do certificado secundário. | string |
x509StoreName | O local do repositório de certificados local. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' 'Não permitido' 'My' 'Root' 'TrustedPeople' 'TrustedPublisher' |
ServerCertificateCommonNames
Nome | Descrição | Valor |
---|---|---|
commonNames | A lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonName[] |
x509StoreName | O local do repositório de certificados local. | 'AddressBook' 'AuthRoot' 'CertificateAuthority' 'Não permitido' 'My' 'Raiz' 'TrustedPeople' 'TrustedPublisher' |
ServerCertificateCommonName
Nome | Descrição | Valor |
---|---|---|
certificateCommonName | O nome comum do certificado do servidor. | cadeia de caracteres (obrigatório) |
certificateIssuerThumbprint | A impressão digital do emissor do certificado do servidor. | cadeia de caracteres (obrigatório) |
ClientCertificateCommonName
Nome | Descrição | Valor |
---|---|---|
certificateCommonName | O nome comum do certificado do cliente. | cadeia de caracteres (obrigatório) |
certificateIssuerThumbprint | A impressão digital do emissor do certificado do cliente. | cadeia de caracteres (obrigatório) |
isAdmin | Indica se o certificado do cliente tem acesso de administrador ao cluster. Clientes não administradores só podem executar operações somente leitura no cluster. | bool (obrigatório) |
ClientCertificateThumbprint
Nome | Descrição | Valor |
---|---|---|
certificateThumbprint | A impressão digital do certificado do cliente. | cadeia de caracteres (obrigatório) |
isAdmin | Indica se o certificado do cliente tem acesso de administrador ao cluster. Clientes não administradores só podem executar operações somente leitura no cluster. | bool (obrigatório) |
DiagnosticsStorageAccountConfig
Nome | Descrição | Valor |
---|---|---|
blobEndpoint | O ponto de extremidade de blob da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
protectedAccountKeyName | O nome da chave de armazenamento diagnóstico protegido. | cadeia de caracteres (obrigatório) |
protectedAccountKeyName2 | O nome da chave de armazenamento diagnóstico secundário protegido. Se uma das chaves da conta de armazenamento for girada, o cluster fará fallback para usar a outra. | string |
queueEndpoint | O ponto de extremidade da fila da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
storageAccountName | O nome da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
tableEndpoint | O ponto de extremidade da tabela da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
SettingsSectionDescription
Nome | Descrição | Valor |
---|---|---|
name | O nome da seção das configurações de malha. | cadeia de caracteres (obrigatório) |
parameters | A coleção de parâmetros na seção . | SettingsParameterDescription[] (obrigatório) |
SettingsParameterDescription
Nome | Descrição | Valor |
---|---|---|
name | O nome do parâmetro da configuração de malha. | cadeia de caracteres (obrigatório) |
value | O valor do parâmetro da configuração de malha. | cadeia de caracteres (obrigatório) |
NodeTypeDescription
Nome | Descrição | Valor |
---|---|---|
applicationPorts | O intervalo de portas das quais o cluster atribuiu a porta aos aplicativos do Service Fabric. | EndpointRangeDescription |
capacities | As marcas de capacidade aplicadas aos nós no tipo de nó, o gerenciador de recursos de cluster usa essas marcas para entender quanto recurso um nó tem. | NodeTypeDescriptionCapacities |
clientConnectionEndpointPort | A porta do ponto de extremidade de gerenciamento de cluster TCP. | int (obrigatório) |
durabilityLevel | O nível de durabilidade do tipo de nó. Saiba mais sobre DurabilityLevel. - Bronze - Sem privilégios. Esse é o padrão. - Prata - Os trabalhos de infraestrutura podem ser pausados por uma duração de 10 minutos por UD. - Ouro - Os trabalhos de infraestrutura podem ser pausados por uma duração de 2 horas por UD. A durabilidade ouro pode ser habilitada apenas em skus de VM de nó completo como D15_V2, G5 etc. |
'Bronze' 'Gold' 'Silver' |
ephemeralPorts | O intervalo de portas efêmeras com as quais os nós nesse tipo de nó devem ser configurados. | EndpointRangeDescription |
httpGatewayEndpointPort | A porta do ponto de extremidade de gerenciamento de cluster HTTP. | int (obrigatório) |
isPrimary | O tipo de nó no qual os serviços do sistema serão executados. Apenas um tipo de nó deve ser marcado como primário. O tipo de nó primário não pode ser excluído ou alterado para clusters existentes. | bool (obrigatório) |
name | O nome do tipo de nó. | cadeia de caracteres (obrigatório) |
placementProperties | As marcas de posicionamento aplicadas a nós no tipo de nó, que podem ser usadas para indicar onde determinados serviços (carga de trabalho) devem ser executados. | NodeTypeDescriptionPlacementProperties |
reverseProxyEndpointPort | O ponto de extremidade usado pelo proxy reverso. | INT |
vmInstanceCount | O número de nós no tipo de nó. Essa contagem deve corresponder à propriedade de capacidade no recurso VirtualMachineScaleSet correspondente. | int (obrigatório) Restrições: Valor mínimo = 1 Valor máximo = 2147483647 |
EndpointRangeDescription
Nome | Descrição | Valor |
---|---|---|
endPort | Porta final de um intervalo de portas | int (obrigatório) |
startPort | Porta inicial de um intervalo de portas | int (obrigatório) |
NodeTypeDescriptionCapacities
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
NodeTypeDescriptionPlacementProperties
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
ClusterUpgradePolicy
Nome | Descrição | Valor |
---|---|---|
deltaHealthPolicy | A política de integridade delta do cluster usada ao atualizar o cluster. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | Se for true, os processos serão reiniciados com força durante a atualização mesmo quando a versão do código não tiver sido alterada (a atualização apenas altera a configuração ou os dados). | bool |
healthCheckRetryTimeout | A quantidade de tempo para tentar novamente a avaliação de integridade quando o aplicativo ou cluster não estiver íntegro antes que a atualização seja revertida. O tempo limite pode estar no formato hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthCheckStableDuration | A quantidade de tempo que o aplicativo ou o cluster deve permanecer íntegro antes que a atualização passe para o próximo domínio de atualização. A duração pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthCheckWaitDuration | O tempo de espera após a conclusão de um domínio de atualização antes de executar verificações de integridade. A duração pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthPolicy | A política de integridade do cluster usada ao atualizar o cluster. | ClusterHealthPolicy (obrigatório) |
upgradeDomainTimeout | A quantidade de tempo que cada domínio de atualização precisa concluir antes que a atualização seja revertida. O tempo limite pode estar no formato hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
upgradeReplicaSetCheckTimeout | A quantidade máxima de tempo para bloqueio do processamento de um domínio de atualização e prevenção da perda de disponibilidade quando houver problemas inesperados. Quando esse tempo limite expira, o processamento do domínio de atualização continua, independentemente de problemas de perda de disponibilidade. O tempo limite será redefinido no início de cada domínio de atualização. O tempo limite pode estar no formato hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
upgradeTimeout | A quantidade de tempo que a atualização geral precisa ser concluída antes que a atualização seja revertida. O tempo limite pode estar no formato hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
ClusterUpgradeDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
applicationDeltaHealthPolicies | Define o mapa da política de integridade delta do aplicativo usado para avaliar a integridade de um aplicativo ou de uma de suas entidades filho ao atualizar o cluster. | ApplicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | O percentual máximo permitido de degradação da integridade dos aplicativos permitido durante as atualizações de cluster. O delta é medido entre o estado dos aplicativos no início da atualização e o estado dos aplicativos no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. Os serviços do sistema não estão incluídos nisso. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentDeltaUnhealthyNodes | O percentual máximo permitido de degradação de integridade de nós permitida durante os upgrades do cluster. O delta é medido entre o estado de nós no início da atualização e o estado de nós no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentUpgradeDomainDeltaUnhealthyNodes | O percentual máximo permitido de degradação de integridade de nós de domínio de atualização permitida durante os upgrades do cluster. O delta é medido entre o estado de nós do domínio do upgrade no início do upgrade e o estado dos nós no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para todos os domínios de atualização concluídos para garantir que o estado dos domínios de atualização esteja dentro dos limites tolerados. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
ApplicationDeltaHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ApplicationDeltaHealthPolicy |
ApplicationDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
defaultServiceTypeDeltaHealthPolicy | A política de integridade delta usada por padrão para avaliar a integridade de um tipo de serviço ao atualizar o cluster. | ServiceTypeDeltaHealthPolicy |
serviceTypeDeltaHealthPolicies | O mapa com o tipo de serviço de política de integridade delta por nome de tipo de serviço. O mapa está vazio por padrão. | ServiceTypeDeltaHealthPolicyMap |
ServiceTypeDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
maxPercentDeltaUnhealthyServices | O percentual máximo permitido de degradação de integridade dos serviços permitido durante as atualizações de cluster. O delta é medido entre o estado dos serviços no início da atualização e o estado dos serviços no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ServiceTypeDeltaHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ServiceTypeDeltaHealthPolicy |
ClusterHealthPolicy
Nome | Descrição | Valor |
---|---|---|
applicationHealthPolicies | Define o mapa da política de integridade do aplicativo usado para avaliar a integridade de um aplicativo ou de uma de suas entidades filho. | ApplicationHealthPolicyMap |
maxPercentUnhealthyApplications | O percentual máximo permitido de aplicativos não íntegros antes de relatar um erro. Por exemplo, para permitir que 10% dos aplicativos sejam problemáticos, esse valor seria 10. A porcentagem representa o máximo tolerado de aplicativos que podem estar não íntegros antes de o cluster ser considerado com erro. Se a porcentagem for respeitada, mas houver pelo menos um aplicativo não íntegro, a integridade será avaliada como ‘Aviso’. Isso é calculado dividindo o número de aplicativos problemáticos pelo número total de instâncias do aplicativo no cluster, exceto aplicativos de tipos de aplicativos que estão incluídos no ApplicationTypeHealthPolicyMap. O cálculo é arredondado para cima para tolerar uma falha em um número pequeno de aplicativos. A porcentagem padrão é zero. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentUnhealthyNodes | O percentual máximo permitido de nós não íntegros antes de relatar um erro. Por exemplo, para permitir que 10% dos nós sejam problemáticos, esse valor seria 10. A porcentagem representa o máximo tolerado de nós que podem estar não íntegros antes de o cluster ser considerado com erro. Se a porcentagem for respeitada, mas houver pelo menos um nó não íntegro, a integridade será avaliada como ‘Aviso’. Este percentual é calculado pela divisão do número de nós não íntegros pelo número total de nós no cluster. O cálculo é arredondado para cima para tolerar uma falha em um número pequeno de nós. A porcentagem padrão é zero. Em clusters grandes, alguns nós sempre estarão inoperantes ou ausentes para reparos, de modo que esse percentual deve ser configurado para tolerá-los. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ApplicationHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ApplicationHealthPolicy |
ApplicationHealthPolicy
Nome | Descrição | Valor |
---|---|---|
defaultServiceTypeHealthPolicy | A política de integridade usada por padrão para avaliar a integridade de um tipo de serviço. | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | O mapa com a política de integridade do tipo de serviço por nome de tipo de serviço. O mapa está vazio por padrão. | ServiceTypeHealthPolicyMap |
ServiceTypeHealthPolicy
Nome | Descrição | Valor |
---|---|---|
maxPercentUnhealthyServices | O percentual máximo de serviços que podem não estar íntegros antes que seu aplicativo seja considerado com erro. | INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ServiceTypeHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ServiceTypeHealthPolicy |
Modelos de início rápido
Os modelos de início rápido a seguir implantam esse tipo de recurso.
Modelo | Descrição |
---|---|
Implantar um cluster do Ubuntu Service Fabric de 5 nós |
Esse modelo permite que você implante um Cluster do Service Fabric de cinco nós seguro executando o Ubuntu em um VMSS de tamanho Standard_D2_V2. |
Implantar um cluster seguro de 5 nós |
Este modelo permite que você implante um Cluster do Service Fabric de cinco nós seguro executando o Windows Server 2019 Datacenter em uma VMSS de tamanho Standard_D2_v2. |
Implantar um cluster seguro nodetype 3 com NSGs habilitados |
Este modelo permite que você implante um Cluster de Malha do Serviço de 3 nós seguro executando o Windows Server 2016 Data center em uma VM de tamanho Standard_D2. Usar este modelo permite que você controle ro o tráfego de rede de entrada e saída usando Grupos de Segurança de Rede. |
Definição de recurso do Terraform (provedor de AzAPI)
O tipo de recurso clusters pode ser implantado com operações direcionadas:
- Grupos de recursos
Para obter uma lista das propriedades alteradas em cada versão da API, consulte log de alterações.
Formato de recurso
Para criar um recurso Microsoft.ServiceFabric/clusters, adicione o Terraform a seguir ao seu modelo.
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"
}
})
}
Valores de propriedade
clusters
Nome | Descrição | Valor |
---|---|---|
tipo | O tipo de recurso | "Microsoft.ServiceFabric/clusters@2020-12-01-preview" |
name | O nome do recurso | cadeia de caracteres (obrigatório) Limite de caracteres: 4 a 23 Caracteres válidos: Letras minúsculas, números e hifens. Comece com uma letra minúscula. Termine com letra minúscula ou número. |
local | Local do recurso do Azure. | cadeia de caracteres (obrigatório) |
parent_id | Para implantar em um grupo de recursos, use a ID desse grupo de recursos. | cadeia de caracteres (obrigatório) |
marcas | Marcas de recurso do Azure. | Dicionário de nomes e valores de marcas. |
properties | As propriedades do recurso de cluster | ClusterProperties |
ClusterProperties
Nome | Descrição | Valor |
---|---|---|
addOnFeatures | A lista de recursos de complemento a serem habilitados no cluster. | Matriz de cadeia de caracteres que contém qualquer um dos: "BackupRestoreService" "DnsService" "RepairManager" "ResourceMonitorService" |
applicationTypeVersionsCleanupPolicy | A política usada para limpo versões não utilizadas. | ApplicationTypeVersionsCleanupPolicy |
azureActiveDirectory | As configurações de autenticação do AAD do cluster. | AzureActiveDirectory |
certificado | O certificado a ser usado para proteger o cluster. O certificado fornecido será usado para segurança de nó para nó dentro do cluster, certificado SSL para ponto de extremidade de gerenciamento de cluster e cliente administrador padrão. | CertificateDescription |
certificateCommonNames | Descreve uma lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonNames |
clientCertificateCommonNames | A lista de certificados de cliente referenciados por nome comum que têm permissão para gerenciar o cluster. | ClientCertificateCommonName[] |
clientCertificateThumbprints | A lista de certificados de cliente referenciados pela impressão digital que têm permissão para gerenciar o cluster. | ClientCertificateThumbprint[] |
clusterCodeVersion | A versão de runtime do Service Fabric do cluster. Essa propriedade só pode definir o usuário quando upgradeMode estiver definido como 'Manual'. Para obter a lista de versões disponíveis do Service Fabric para novos clusters, use a API ClusterVersion. Para obter a lista de versões disponíveis para clusters existentes, use availableClusterVersions. | string |
diagnosticsStorageAccountConfig | As informações da conta de armazenamento para armazenar logs de diagnóstico do Service Fabric. | DiagnosticsStorageAccountConfig |
eventStoreServiceEnabled | Indica se o serviço de repositório de eventos está habilitado. | bool |
fabricSettings | A lista de configurações de malha personalizadas para definir o cluster. | SettingsSectionDescription[] |
managementEndpoint | O ponto de extremidade de gerenciamento http do cluster. | cadeia de caracteres (obrigatório) |
Nodetypes | A lista de tipos de nó no cluster. | NodeTypeDescription[] (obrigatório) |
reliabilityLevel | O nível de confiabilidade define o tamanho réplica conjunto de serviços do sistema. Saiba mais sobre ReliabilityLevel. - Nenhum - Execute os serviços do Sistema com um destino réplica contagem de conjuntos de 1. Isso só deve ser usado para clusters de teste. – Bronze – execute os serviços do Sistema com um destino réplica contagem de conjuntos de 3. Isso só deve ser usado para clusters de teste. – Prata – execute os serviços do Sistema com um destino réplica contagem definida de 5. – Ouro – execute os serviços do Sistema com um destino réplica contagem de conjuntos de 7. - Platinum - Execute os serviços do Sistema com um destino réplica contagem definida de 9. |
"Bronze" "Ouro" "None" "Platinum" "Prata" |
reverseProxyCertificate | O certificado do servidor usado pelo proxy reverso. | CertificateDescription |
reverseProxyCertificateCommonNames | Descreve uma lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonNames |
upgradeDescription | A política a ser usada ao atualizar o cluster. | ClusterUpgradePolicy |
upgradeMode | O modo de atualização do cluster quando a nova versão de runtime do Service Fabric está disponível. – Automático – O cluster será atualizado automaticamente para a versão de runtime mais recente do Service Fabric assim que estiver disponível. - Manual - O cluster não será atualizado automaticamente para a versão mais recente do runtime do Service Fabric. O cluster é atualizado definindo a propriedade clusterCodeVersion no recurso de cluster. |
"Automático" "Manual" |
vmImage | A imagem da VM VM com a qual o VMSS foi configurado. Nomes genéricos, como Windows ou Linux, podem ser usados. | string |
ApplicationTypeVersionsCleanupPolicy
Nome | Descrição | Valor |
---|---|---|
maxUnusedVersionsToKeep | Número de versões não utilizados por tipo de aplicativo a serem mantidas. | int (obrigatório) Restrições: Valor mínimo = 0 |
AzureActiveDirectory
Nome | Descrição | Valor |
---|---|---|
clientApplication | ID do aplicativo cliente do Azure Active Directory. | string |
clusterApplication | ID do aplicativo de cluster do Azure Active Directory. | string |
tenantId | ID do locatário do Azure Active Directory. | string |
CertificateDescription
Nome | Descrição | Valor |
---|---|---|
thumbprint | Impressão digital do certificado primário. | cadeia de caracteres (obrigatório) |
thumbprintSecondary | Impressão digital do certificado secundário. | string |
x509StoreName | O local do repositório de certificados local. | "AddressBook" "AuthRoot" "CertificateAuthority" "Não permitido" "Meu" "Raiz" "TrustedPeople" "TrustedPublisher" |
ServerCertificateCommonNames
Nome | Descrição | Valor |
---|---|---|
commonNames | A lista de certificados de servidor referenciados pelo nome comum que são usados para proteger o cluster. | ServerCertificateCommonName[] |
x509StoreName | O local do repositório de certificados. | "AddressBook" "AuthRoot" "CertificateAuthority" "Não permitido" "Meu" "Raiz" "TrustedPeople" "TrustedPublisher" |
ServerCertificateCommonName
Nome | Descrição | Valor |
---|---|---|
certificateCommonName | O nome comum do certificado do servidor. | cadeia de caracteres (obrigatório) |
certificateIssuerThumbprint | A impressão digital do emissor do certificado do servidor. | cadeia de caracteres (obrigatório) |
ClientCertificateCommonName
Nome | Descrição | Valor |
---|---|---|
certificateCommonName | O nome comum do certificado do cliente. | cadeia de caracteres (obrigatório) |
certificateIssuerThumbprint | A impressão digital do emissor do certificado do cliente. | cadeia de caracteres (obrigatório) |
isAdmin | Indica se o certificado do cliente tem acesso de administrador ao cluster. Clientes não administradores só podem executar operações somente leitura no cluster. | bool (obrigatório) |
ClientCertificateThumbprint
Nome | Descrição | Valor |
---|---|---|
certificateThumbprint | A impressão digital do certificado do cliente. | cadeia de caracteres (obrigatório) |
isAdmin | Indica se o certificado do cliente tem acesso de administrador ao cluster. Clientes não administradores só podem executar operações somente leitura no cluster. | bool (obrigatório) |
DiagnosticsStorageAccountConfig
Nome | Descrição | Valor |
---|---|---|
blobEndpoint | O ponto de extremidade de blob da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
protectedAccountKeyName | O nome da chave de armazenamento diagnóstico protegido. | cadeia de caracteres (obrigatório) |
protectedAccountKeyName2 | O nome da chave de armazenamento diagnóstico secundário protegido. Se uma das chaves da conta de armazenamento for girada, o cluster fará fallback para usar a outra. | string |
queueEndpoint | O ponto de extremidade da fila da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
storageAccountName | O nome da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
tableEndpoint | O ponto de extremidade da tabela da conta de armazenamento do Azure. | cadeia de caracteres (obrigatório) |
SettingsSectionDescription
Nome | Descrição | Valor |
---|---|---|
name | O nome da seção das configurações de malha. | cadeia de caracteres (obrigatório) |
parameters | A coleção de parâmetros na seção . | SettingsParameterDescription[] (obrigatório) |
SettingsParameterDescription
Nome | Descrição | Valor |
---|---|---|
name | O nome do parâmetro da configuração de malha. | cadeia de caracteres (obrigatório) |
value | O valor do parâmetro da configuração de malha. | cadeia de caracteres (obrigatório) |
NodeTypeDescription
Nome | Descrição | Valor |
---|---|---|
applicationPorts | O intervalo de portas das quais o cluster atribuiu a porta aos aplicativos do Service Fabric. | EndpointRangeDescription |
capacities | As marcas de capacidade aplicadas aos nós no tipo de nó, o gerenciador de recursos de cluster usa essas marcas para entender quanto recurso um nó tem. | NodeTypeDescriptionCapacities |
clientConnectionEndpointPort | A porta do ponto de extremidade de gerenciamento de cluster TCP. | int (obrigatório) |
durabilityLevel | O nível de durabilidade do tipo de nó. Saiba mais sobre DurabilityLevel. - Bronze - Sem privilégios. Esse é o padrão. - Prata - Os trabalhos de infraestrutura podem ser pausados por uma duração de 10 minutos por UD. - Ouro - Os trabalhos de infraestrutura podem ser pausados por uma duração de 2 horas por UD. A durabilidade ouro pode ser habilitada apenas em skus de VM de nó completo como D15_V2, G5 etc. |
"Bronze" "Ouro" "Prata" |
ephemeralPorts | O intervalo de portas efêmeras com as quais os nós nesse tipo de nó devem ser configurados. | EndpointRangeDescription |
httpGatewayEndpointPort | A porta do ponto de extremidade de gerenciamento de cluster HTTP. | int (obrigatório) |
isPrimary | O tipo de nó no qual os serviços do sistema serão executados. Somente um tipo de nó deve ser marcado como primário. O tipo de nó primário não pode ser excluído ou alterado para clusters existentes. | bool (obrigatório) |
name | O nome do tipo de nó. | cadeia de caracteres (obrigatório) |
placementProperties | As marcas de posicionamento aplicadas a nós no tipo de nó, que podem ser usadas para indicar onde determinados serviços (carga de trabalho) devem ser executados. | NodeTypeDescriptionPlacementProperties |
reverseProxyEndpointPort | O ponto de extremidade usado pelo proxy reverso. | INT |
vmInstanceCount | O número de nós no tipo de nó. Essa contagem deve corresponder à propriedade de capacidade no recurso VirtualMachineScaleSet correspondente. | int (obrigatório) Restrições: Valor mínimo = 1 Valor máximo = 2147483647 |
EndpointRangeDescription
Nome | Descrição | Valor |
---|---|---|
endPort | Porta final de um intervalo de portas | int (obrigatório) |
startPort | Iniciando a porta de um intervalo de portas | int (obrigatório) |
NodeTypeDescriptionCapacities
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
NodeTypeDescriptionPlacementProperties
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | string |
ClusterUpgradePolicy
Nome | Descrição | Valor |
---|---|---|
deltaHealthPolicy | A política de integridade delta do cluster usada ao atualizar o cluster. | ClusterUpgradeDeltaHealthPolicy |
forceRestart | Se for true, os processos serão reiniciados com força durante a atualização mesmo quando a versão do código não tiver sido alterada (a atualização altera apenas a configuração ou os dados). | bool |
healthCheckRetryTimeout | A quantidade de tempo para repetir a avaliação de integridade quando o aplicativo ou cluster não estiver íntegro antes que a atualização seja revertida. O tempo limite pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthCheckStableDuration | A quantidade de tempo que o aplicativo ou o cluster deve permanecer íntegro antes que a atualização passe para o próximo domínio de atualização. A duração pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthCheckWaitDuration | O período de tempo de espera após a conclusão de um domínio de atualização antes de executar verificações de integridade. A duração pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
healthPolicy | A política de integridade do cluster usada ao atualizar o cluster. | ClusterHealthPolicy (obrigatório) |
upgradeDomainTimeout | A quantidade de tempo que cada domínio de atualização precisa concluir antes que a atualização seja revertida. O tempo limite pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
upgradeReplicaSetCheckTimeout | A quantidade máxima de tempo para bloqueio do processamento de um domínio de atualização e prevenção da perda de disponibilidade quando houver problemas inesperados. Quando esse tempo limite expira, o processamento do domínio de atualização continua, independentemente de problemas de perda de disponibilidade. O tempo limite será redefinido no início de cada domínio de atualização. O tempo limite pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
upgradeTimeout | A quantidade de tempo que a atualização geral precisa ser concluída antes que a atualização seja revertida. O tempo limite pode estar em hh:mm:ss ou no formato d.hh:mm:ss.ms. | cadeia de caracteres (obrigatório) |
ClusterUpgradeDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
applicationDeltaHealthPolicies | Define o mapa da política de integridade delta do aplicativo usado para avaliar a integridade de um aplicativo ou de uma de suas entidades filho ao atualizar o cluster. | ApplicationDeltaHealthPolicyMap |
maxPercentDeltaUnhealthyApplications | O percentual máximo permitido de degradação de integridade de aplicativos permitido durante atualizações de cluster. O delta é medido entre o estado dos aplicativos no início da atualização e o estado dos aplicativos no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. Os serviços do sistema não estão incluídos nisso. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentDeltaUnhealthyNodes | O percentual máximo permitido de degradação de integridade de nós permitida durante os upgrades do cluster. O delta é medido entre o estado de nós no início da atualização e o estado de nós no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentUpgradeDomainDeltaUnhealthyNodes | O percentual máximo permitido de degradação de integridade de nós de domínio de atualização permitida durante os upgrades do cluster. O delta é medido entre o estado de nós do domínio do upgrade no início do upgrade e o estado dos nós no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para todos os domínios de atualização concluídos para garantir que o estado dos domínios de atualização esteja dentro dos limites tolerados. |
int (obrigatório) Restrições: Valor mínimo = 0 Valor máximo = 100 |
ApplicationDeltaHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ApplicationDeltaHealthPolicy |
ApplicationDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
defaultServiceTypeDeltaHealthPolicy | A política de integridade delta usada por padrão para avaliar a integridade de um tipo de serviço ao atualizar o cluster. | ServiceTypeDeltaHealthPolicy |
serviceTypeDeltaHealthPolicies | O mapa com a política de integridade delta do tipo de serviço por nome de tipo de serviço. O mapa está vazio por padrão. | ServiceTypeDeltaHealthPolicyMap |
ServiceTypeDeltaHealthPolicy
Nome | Descrição | Valor |
---|---|---|
maxPercentDeltaUnhealthyServices | O percentual máximo permitido de degradação da integridade dos serviços permitido durante atualizações de cluster. O delta é medido entre o estado dos serviços no início da atualização e o estado dos serviços no momento da avaliação de integridade. A verificação é realizada após a conclusão de cada atualização de domínio de atualização para garantir que o estado global do cluster esteja dentro dos limites tolerados. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ServiceTypeDeltaHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ServiceTypeDeltaHealthPolicy |
ClusterHealthPolicy
Nome | Descrição | Valor |
---|---|---|
applicationHealthPolicies | Define o mapa da política de integridade do aplicativo usado para avaliar a integridade de um aplicativo ou de uma de suas entidades filho. | ApplicationHealthPolicyMap |
maxPercentUnhealthyApplications | O percentual máximo permitido de aplicativos não íntegros antes de relatar um erro. Por exemplo, para permitir que 10% dos aplicativos sejam problemáticos, esse valor seria 10. A porcentagem representa o máximo tolerado de aplicativos que podem estar não íntegros antes de o cluster ser considerado com erro. Se a porcentagem for respeitada, mas houver pelo menos um aplicativo não íntegro, a integridade será avaliada como ‘Aviso’. Isso é calculado dividindo o número de aplicativos problemáticos pelo número total de instâncias do aplicativo no cluster, exceto aplicativos de tipos de aplicativos que estão incluídos no ApplicationTypeHealthPolicyMap. O cálculo é arredondado para cima para tolerar uma falha em um número pequeno de aplicativos. A porcentagem padrão é zero. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
maxPercentUnhealthyNodes | O percentual máximo permitido de nós não íntegros antes de relatar um erro. Por exemplo, para permitir que 10% dos nós sejam problemáticos, esse valor seria 10. A porcentagem representa o máximo tolerado de nós que podem estar não íntegros antes de o cluster ser considerado com erro. Se a porcentagem for respeitada, mas houver pelo menos um nó não íntegro, a integridade será avaliada como ‘Aviso’. Este percentual é calculado pela divisão do número de nós não íntegros pelo número total de nós no cluster. O cálculo é arredondado para cima para tolerar uma falha em um número pequeno de nós. A porcentagem padrão é zero. Em clusters grandes, alguns nós sempre estarão inoperantes ou ausentes para reparos, de modo que esse percentual deve ser configurado para tolerá-los. |
INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ApplicationHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ApplicationHealthPolicy |
ApplicationHealthPolicy
Nome | Descrição | Valor |
---|---|---|
defaultServiceTypeHealthPolicy | A política de integridade usada por padrão para avaliar a integridade de um tipo de serviço. | ServiceTypeHealthPolicy |
serviceTypeHealthPolicies | O mapa com a política de integridade do tipo de serviço por nome de tipo de serviço. O mapa está vazio por padrão. | ServiceTypeHealthPolicyMap |
ServiceTypeHealthPolicy
Nome | Descrição | Valor |
---|---|---|
maxPercentUnhealthyServices | O percentual máximo de serviços que podem não estar íntegros antes que seu aplicativo seja considerado com erro. | INT Restrições: Valor mínimo = 0 Valor máximo = 100 |
ServiceTypeHealthPolicyMap
Nome | Descrição | Valor |
---|---|---|
{propriedade personalizada} | ServiceTypeHealthPolicy |