Parâmetros da atualização da aplicação
Este artigo descreve os vários parâmetros que se aplicam durante a atualização de um aplicativo do Azure Service Fabric. Os parâmetros de atualização do aplicativo controlam os tempos limite e as verificações de integridade que são aplicadas durante a atualização e especificam as políticas que devem ser aplicadas quando uma atualização falha. Os parâmetros do aplicativo aplicam-se a atualizações usando:
- PowerShell
- Visual Studio
- SFCTL
- REST
As atualizações de aplicativos são iniciadas por meio de um dos três modos de atualização selecionáveis pelo usuário. Cada modo tem seu próprio conjunto de parâmetros de aplicação:
- Monitorado
- Automático não monitorado
- Manual não monitorizado
Os parâmetros obrigatórios e opcionais aplicáveis são descritos em cada secção da seguinte forma.
Parâmetros do Visual Studio e do PowerShell
As atualizações de aplicativos do Service Fabric usando o PowerShell usam o comando Start-ServiceFabricApplicationUpgrade . O modo de atualização é selecionado passando o parâmetro Monitored, UnmonitoredAuto ou UnmonitoredManual para Start-ServiceFabricApplicationUpgrade.
Os parâmetros de atualização do aplicativo Visual Studio Service Fabric são definidos por meio da caixa de diálogo Configurações de atualização do Visual Studio. O modo de atualização do Visual Studio é selecionado usando a caixa suspensa Modo de atualização para Monitored, UnmonitoredAuto ou UnmonitoredManual. Para obter mais informações, consulte Configurar a atualização de um aplicativo do Service Fabric no Visual Studio.
Parâmetros obrigatórios
Parâmetro | Aplica-se A | Description |
---|---|---|
ApplicationName | PowerShell | Nome do aplicativo que está sendo atualizado. Exemplos: fabric:/VisualObjects, fabric:/ClusterMonitor. |
ApplicationTypeVersion | PowerShell | A versão do tipo de aplicativo que a atualização destina. |
FailureAction | PowerShell, Visual Studio | Os valores permitidos são Reversão, Manual e Inválido. A ação de compensação a ser executada quando uma atualização monitorada encontra violações da política de monitoramento ou da diretiva de integridade. A reversão especifica que a atualização será revertida automaticamente para a versão de pré-atualização. Manual indica que a atualização mudará para o modo de atualização Manual não monitorado. Inválido indica que a ação de falha é inválida. |
Monitorado | PowerShell | Indica que o modo de atualização é monitorado. Depois que o cmdlet concluir uma atualização para um domínio de atualização, se a integridade do domínio de atualização e do cluster atenderem às políticas de integridade definidas, o Service Fabric atualizará o próximo domínio de atualização. Se o domínio ou cluster de atualização não atender às políticas de integridade, a atualização falhará e o Service Fabric reverterá a atualização para o domínio de atualização ou reverterá para o modo manual de acordo com a política especificada. Este é o modo recomendado para atualizações de aplicativos em um ambiente de produção. |
Modo de atualização | Visual Studio | Os valores permitidos são Monitored (padrão), UnmonitoredAuto ou UnmonitoredManual. Consulte Parâmetros do PowerShell para cada modo neste artigo para obter detalhes. |
UnmonitoredAuto | PowerShell | Indica que o modo de atualização é automático não monitorado. Depois que o Service Fabric atualiza um domínio de atualização, o Service Fabric atualiza o próximo domínio de atualização, independentemente do estado de integridade do aplicativo. Este modo não é recomendado para produção e só é útil durante o desenvolvimento de uma aplicação. |
Manual não monitorado | PowerShell | Indica que o modo de atualização não é monitorado manualmente. Depois que o Service Fabric atualiza um domínio de atualização, ele aguarda que você atualize o próximo domínio de atualização usando o cmdlet Resume-ServiceFabricApplicationUpgrade . |
Parâmetros opcionais
Os parâmetros de avaliação de integridade são opcionais. Se os critérios de avaliação de integridade não forem especificados quando uma atualização for iniciada, o Service Fabric usará as políticas de integridade do aplicativo especificadas no ApplicationManifest.xml da instância do aplicativo.
Parâmetro | Aplica-se A | Description |
---|---|---|
ApplicationParameter | PowerShell, Visual Studio | Especifica as substituições para parâmetros de aplicativo. Os parâmetros do aplicativo PowerShell são especificados como pares nome/valor da tabela de hash. Por exemplo, @{ "VotingData_MinReplicaSetSize" = "3"; "VotingData_PartitionCount" = "1" }. Os parâmetros do aplicativo Visual Studio podem ser especificados na caixa de diálogo Publicar Aplicativo do Service Fabric no campo Arquivo de Parâmetros do Aplicativo. |
Confirmar | PowerShell | Os valores permitidos são True e False. Solicita confirmação antes de executar o cmdlet. |
ConsiderWarningAsError | PowerShell, Visual Studio | Os valores permitidos são True e False. O valor predefinido é False. Trate os eventos de integridade de aviso para o aplicativo como erros ao avaliar a integridade do aplicativo durante a atualização. Por padrão, o Service Fabric não avalia eventos de integridade de aviso como falhas (erros), portanto, a atualização pode continuar mesmo se houver eventos de aviso. |
DefaultServiceTypeHealthPolicy | PowerShell, Visual Studio | Especifica a política de integridade para o tipo de serviço padrão a ser usado para a atualização monitorada no formato MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. Por exemplo, 5,10,15 indica os seguintes valores: MaxPercentUnhealthyPartitionsPerService = 5, MaxPercentUnhealthyReplicasPerPartition = 10, MaxPercentUnhealthyServices = 15. |
Force | PowerShell, Visual Studio | Os valores permitidos são True e False. Indica que o processo de atualização ignora a mensagem de aviso e força a atualização mesmo quando o número da versão não foi alterado. Isso é útil para testes locais, mas não é recomendado para uso em um ambiente de produção, pois requer a remoção da implantação existente, o que causa tempo de inatividade e perda potencial de dados. |
ForceRestart | PowerShell, Visual Studio | Se você atualizar uma configuração ou pacote de dados sem atualizar o código de serviço, o serviço será reiniciado somente se a propriedade ForceRestart estiver definida como True. Quando a atualização estiver concluída, o Service Fabric notificará o serviço de que um novo pacote de configuração ou pacote de dados está disponível. O serviço é responsável pela aplicação das alterações. Se necessário, o serviço pode ser reiniciado. |
HealthCheckRetryTimeoutSec | PowerShell, Visual Studio | A duração (em segundos) que o Service Fabric continua a executar a avaliação de integridade antes de declarar a atualização como falha. O padrão é 600 segundos. Essa duração começa depois que HealthCheckWaitDurationSec é atingida. Neste HealthCheckRetryTimeout, o Service Fabric pode executar várias verificações de integridade do aplicativo. O valor padrão é 10 minutos e deve ser personalizado adequadamente para seu aplicativo. |
HealthCheckStableDurationSec | PowerShell, Visual Studio | A duração (em segundos) para verificar se o aplicativo está estável antes de mover para o próximo domínio de atualização ou concluir a atualização. Essa duração de espera é usada para evitar alterações de integridade não detetadas logo após a verificação de integridade ser executada. O valor padrão é 120 segundos e deve ser personalizado adequadamente para seu aplicativo. |
HealthCheckWaitDurationSec | PowerShell, Visual Studio | O tempo de espera (em segundos) após a conclusão da atualização no domínio de atualização antes que o Service Fabric avalie a integridade do aplicativo. Essa duração também pode ser considerada como o tempo que um aplicativo deve estar em execução antes de ser considerado íntegro. Se a verificação de integridade for aprovada, o processo de atualização prosseguirá para o próximo domínio de atualização. Se a verificação de integridade falhar, o Service Fabric aguardará UpgradeHealthCheckInterval antes de tentar novamente a verificação de integridade até que o HealthCheckRetryTimeoutSec seja alcançado. O valor padrão e recomendado é 0 segundos. |
MaxPercentUnhealthyDeployedApplications | PowerShell, Visual Studio | O valor padrão e recomendado é 0. Especifique o número máximo de aplicativos implantados (consulte a seção Integridade) que podem não estar íntegros antes que o aplicativo seja considerado não íntegro e falhe na atualização. Esse parâmetro define a integridade do aplicativo no nó e ajuda a detetar problemas durante a atualização. Normalmente, as réplicas do aplicativo recebem balanceamento de carga para o outro nó, o que permite que o aplicativo pareça íntegro, permitindo assim que a atualização prossiga. Ao especificar uma integridade rígida de MaxPercentUnhealthyDeployedApplications , o Service Fabric pode detetar um problema com o pacote de aplicativos rapidamente e ajudar a produzir uma atualização rápida com falhas. |
MaxPercentUnhealthyServices | PowerShell, Visual Studio | Um parâmetro para DefaultServiceTypeHealthPolicy e ServiceTypeHealthPolicyMap. O valor padrão e recomendado é 0. Especifique o número máximo de serviços na instância do aplicativo que podem não estar íntegros antes que o aplicativo seja considerado não íntegro e falhe na atualização. |
MaxPercentUnhealthyPartitionsPerService | PowerShell, Visual Studio | Um parâmetro para DefaultServiceTypeHealthPolicy e ServiceTypeHealthPolicyMap. O valor padrão e recomendado é 0. Especifique o número máximo de partições em um serviço que pode não estar íntegra antes que o serviço seja considerado não íntegro. |
MaxPercentUnhealthyReplicasPerPartition | PowerShell, Visual Studio | Um parâmetro para DefaultServiceTypeHealthPolicy e ServiceTypeHealthPolicyMap. O valor padrão e recomendado é 0. Especifique o número máximo de réplicas na partição que podem não estar íntegras antes que a partição seja considerada não íntegra. |
ServiceTypeHealthPolicyMap | PowerShell, Visual Studio | Representa a política de saúde utilizada para avaliar a saúde dos serviços pertencentes a um tipo de serviço. Usa uma entrada de tabela de hash no seguinte formato: @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Por exemplo: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" } |
TimeoutSec | PowerShell , Visual Studio | Especifica o período de tempo limite em segundos para a operação. |
UpgradeDomainTimeoutSec | PowerShell, Visual Studio | Tempo máximo (em segundos) para atualizar um único domínio de atualização. Se esse tempo limite for atingido, a atualização será interrompida e prosseguirá com base na configuração de FailureAction. O valor padrão nunca é (Infinito) e deve ser personalizado adequadamente para seu aplicativo. |
UpgradeReplicaSetCheckTimeoutSec | PowerShell, Visual Studio | Medido em segundos. Serviço sem monitoração de estado--Dentro de um único domínio de atualização, o Service Fabric tenta garantir que instâncias adicionais do serviço estejam disponíveis. Se a contagem de instâncias de destino for mais de uma, o Service Fabric aguardará que mais de uma instância esteja disponível, até um valor máximo de tempo limite. Esse tempo limite é especificado usando a propriedade UpgradeReplicaSetCheckTimeoutSec . Se o tempo limite expirar, o Service Fabric prosseguirá com a atualização, independentemente do número de instâncias de serviço. Se a contagem de instâncias de destino for uma, o Service Fabric não aguardará e prosseguirá imediatamente com a atualização. Serviço com monitoração de estado--Dentro de um único domínio de atualização, o Service Fabric tenta garantir que o conjunto de réplicas tenha um quórum. O Service Fabric aguarda que um quórum esteja disponível, até um valor de tempo limite máximo (especificado pela propriedade UpgradeReplicaSetCheckTimeoutSec ). Se o tempo limite expirar, o Service Fabric prosseguirá com a atualização, independentemente do quórum. Essa configuração é definida como nunca (infinito) ao rolar para frente e 1200 segundos ao reverter. |
UpgradeTimeoutSec | PowerShell, Visual Studio | Um tempo limite (em segundos) que se aplica a toda a atualização. Se esse tempo limite for atingido, a atualização será interrompida e FailureAction será acionado. O valor padrão nunca é (Infinito) e deve ser personalizado adequadamente para seu aplicativo. |
WhatIf | PowerShell | Os valores permitidos são True e False. Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado. |
Os critérios MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService e MaxPercentUnhealthyReplicasPerPartition podem ser especificados por tipo de serviço para uma instância de aplicativo. A definição desses parâmetros por serviço permite que um aplicativo contenha diferentes tipos de serviços com diferentes políticas de avaliação. Por exemplo, um tipo de serviço de gateway sem estado pode ter um MaxPercentUnhealthyPartitionsPerService que é diferente de um tipo de serviço de mecanismo com estado para uma instância de aplicativo específica.
Parâmetros SFCTL
As atualizações de aplicativos do Service Fabric usando a CLI do Service Fabric usam o comando sfctl application upgrade junto com os seguintes parâmetros obrigatórios e opcionais.
Parâmetros obrigatórios
Parâmetro | Description |
---|---|
ID do aplicativo | ID do aplicativo que está sendo atualizado. Normalmente, este é o nome completo do aplicativo sem o esquema de URI 'fabric:'. A partir da versão 6.0, os nomes hierárquicos são delimitados com o caractere '~'. Por exemplo, se o nome do aplicativo for 'fabric:/myapp/app1', a identidade do aplicativo será 'myapp~app1' em 6.0+ e 'myapp/app1' em versões anteriores. |
aplicação-versão | A versão do tipo de aplicativo que a atualização destina. |
parâmetros | Uma lista codificada JSON de substituições de parâmetros de aplicativo a serem aplicadas ao atualizar o aplicativo. |
Parâmetros opcionais
Parâmetro | Description |
---|---|
default-service-health-policy | Especificação codificada por JSON da diretiva de integridade usada por padrão para avaliar a integridade de um tipo de serviço. O mapa está vazio por padrão. |
Falha-ação | Os valores permitidos são Reversão, Manual e Inválido. A ação de compensação a ser executada quando uma atualização monitorada encontra violações da política de monitoramento ou da diretiva de integridade. A reversão especifica que a atualização será revertida automaticamente para a versão de pré-atualização. Manual indica que a atualização mudará para o modo de atualização Manual não monitorado. Inválido indica que a ação de falha é inválida. |
forçar-reiniciar | Se você atualizar uma configuração ou pacote de dados sem atualizar o código de serviço, o serviço será reiniciado somente se a propriedade ForceRestart estiver definida como True. Quando a atualização estiver concluída, o Service Fabric notificará o serviço de que um novo pacote de configuração ou pacote de dados está disponível. O serviço é responsável pela aplicação das alterações. Se necessário, o serviço pode ser reiniciado. |
saúde-check-retry-timeout | A quantidade de tempo para repetir a avaliação de integridade quando o aplicativo ou cluster não está íntegro antes de FailureAction ser executado. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. Padrão: PT0H10M0S. |
saúde-check-stable-duration | A quantidade de tempo que o aplicativo ou cluster deve permanecer íntegro antes que a atualização prossiga para o próximo domínio de atualização. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. Padrão: PT0H2M0S. |
saúde-check-wait-duration | O tempo de espera após a conclusão de um domínio de atualização antes de aplicar políticas de integridade. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. Predefinição: 0. |
max-unhealthy-apps | O valor padrão e recomendado é 0. Especifique o número máximo de aplicativos implantados (consulte a seção Integridade) que podem não estar íntegros antes que o aplicativo seja considerado não íntegro e falhe na atualização. Esse parâmetro define a integridade do aplicativo no nó e ajuda a detetar problemas durante a atualização. Normalmente, as réplicas do aplicativo recebem balanceamento de carga para o outro nó, o que permite que o aplicativo pareça íntegro, permitindo assim que a atualização prossiga. Ao especificar uma integridade estrita de aplicativos max-unhealthy, o Service Fabric pode detetar um problema com o pacote de aplicativos rapidamente e ajudar a produzir uma atualização rápida com falhas. Representado como um número entre 0 e 100. |
modo | Os valores permitidos são Monitored, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. O padrão é UnmonitoredAuto. Consulte a seção Parâmetros necessários do Visual Studio e do PowerShell para obter descrições desses valores. |
replica-set-check-timeout | Medido em segundos. Serviço sem monitoração de estado--Dentro de um único domínio de atualização, o Service Fabric tenta garantir que instâncias adicionais do serviço estejam disponíveis. Se a contagem de instâncias de destino for mais de uma, o Service Fabric aguardará que mais de uma instância esteja disponível, até um valor máximo de tempo limite. Esse tempo limite é especificado usando a propriedade replica-set-check-timeout . Se o tempo limite expirar, o Service Fabric prosseguirá com a atualização, independentemente do número de instâncias de serviço. Se a contagem de instâncias de destino for uma, o Service Fabric não aguardará e prosseguirá imediatamente com a atualização. Serviço com monitoração de estado--Dentro de um único domínio de atualização, o Service Fabric tenta garantir que o conjunto de réplicas tenha um quórum. O Service Fabric aguarda a disponibilidade de um quórum, até um valor máximo de tempo limite (especificado pela propriedade replica-set-check-timeout ). Se o tempo limite expirar, o Service Fabric prosseguirá com a atualização, independentemente do quórum. Essa configuração é definida como nunca (infinito) ao rolar para frente e 1200 segundos ao reverter. |
serviço-saúde-política | Mapa codificado JSON com política de integridade do tipo de serviço por nome de tipo de serviço. O mapa está vazio ser padrão. Parâmetro formato JSON.. O JSON para a parte "Value" contém MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService e MaxPercentUnhealthyReplicasPerPartition. Consulte a seção Parâmetros opcionais do Visual Studio e do PowerShell para obter descrições desses parâmetros. |
tempo limite | Especifica o período de tempo limite em segundos para a operação. Padrão: 60. |
upgrade-domínio-timeout | A quantidade de tempo que cada domínio de atualização tem que ser concluído antes que FailureAction seja executado. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. O valor padrão nunca é (Infinito) e deve ser personalizado adequadamente para seu aplicativo. Padrão: P10675199DT02H48M05.4775807S. |
tempo limite de atualização | A quantidade de tempo que cada domínio de atualização tem que ser concluído antes que FailureAction seja executado. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. O valor padrão nunca é (Infinito) e deve ser personalizado adequadamente para seu aplicativo. Padrão: P10675199DT02H48M05.4775807S. |
Aviso como erro | Os valores permitidos são True e False. O valor predefinido é False. Pode ser passado como uma bandeira. Trate os eventos de integridade de aviso para o aplicativo como erros ao avaliar a integridade do aplicativo durante a atualização. Por padrão, o Service Fabric não avalia eventos de integridade de aviso como falhas (erros), portanto, a atualização pode continuar mesmo se houver eventos de aviso. |
Próximos passos
Atualizando seu aplicativo usando o Visual Studio orienta você através de uma atualização de aplicativo usando o Visual Studio.
Atualizando seu aplicativo usando o PowerShell orienta você por uma atualização de aplicativo usando o PowerShell.
Atualizar seu aplicativo usando a CLI do Service Fabric no Linux orienta você por uma atualização de aplicativo usando a CLI do Service Fabric.
Atualizando seu aplicativo usando o plug-in do Service Fabric Eclipse
Torne as atualizações do seu aplicativo compatíveis aprendendo a usar a Serialização de Dados.
Saiba como usar a funcionalidade avançada ao atualizar seu aplicativo consultando Tópicos Avançados.
Corrija problemas comuns em atualizações de aplicativos consultando as etapas em Solução de problemas de atualizações de aplicativos.