azure-service-fabric - Service Fabric 重启应用程序

标签 azure-service-fabric azure-powershell

我有一个在启动时从 KeyVault 读取的 Service Fabric 应用程序。当我们更改 KeyVault 值时,我们必须重新启动节点才能读取新值。这会导致同一节点上的其他应用程序出现故障。

我正在尝试编写一个 PowerShell 脚本来重新启动服务结构应用程序,以下脚本可以在 1 节点集群上运行,但它无法在多节点集群上运行。

Restart-ServiceFabricDeployedCodePackage -ApplicationName $appName -CommandCompletionMode Verify -ServiceName $ServiceName -TimeoutSec 8000

当我有一个多节点集群时,这不起作用。我不明白为什么它不起作用。

我做错了什么吗?

最佳答案

我使此 powershell 命令起作用的最少参数是:

-应用程序名称 -节点名称 -ServiceManifestName -CodePackageName -ServicePackageActivationId

像这样: 重新启动-ServiceFabricDeployedCodePackage -ApplicationName Fabric:/App -NodeName“Node01”-ServiceManifestName“ServicePkg”-CodePackageName“Code”-ServicePackageActivationId xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

使用此命令有时会出现奇怪的错误在节点 Node01 上找不到 Fabric:/App:Code 的部署代码包但至少每次服务重新启动时都是如此。我尝试过其他参数组合,但没有运气。看来上面的参数是必须的。

编写在所有节点上重新启动特定服务(并且仅此服务)的通用 powershell 脚本,我首先会获取运行 Get-ServiceFabricNode 的所有节点名称,然后迭代这些名称运行 Get-ServiceFabricDeployedCodePackage -NodeName Node01 -ApplicationName Fabric:/App -ServiceManifestName ServicePkg 以便获取 ServicePackageActivationId 这是唯一动态参数。最后使用 ServicePackageActivationId 运行 Restart-ServiceFabricDeployedCodePackage

关于azure-service-fabric - Service Fabric 重启应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56376974/

相关文章:

azure - 删除 Service Fabric 中空闲的有状态服务

azure - 执行 Revoke-AzureADUserAllRefreshToken 所需的最低权限是什么

azure - 无法使用已安装的 AzureAD 模块执行 Connet-AzureAD

powershell - 在 azure 虚拟机中安装 Azure powershell

c# - 以编程方式创建应用程序和服务

c# - Service Fabric 参与者中的静态对象

azure - 如何将身份号码作为服务结构上同一服务的每个实例的参数?

python - 如何使用 python 运行 Azure CLI 命令?

azure - 如何使用 ARM Powershell 在 Azure DocumentDB 中上传 JSON 文件

azure-service-fabric - 如何启用从 StatefulService 辅助副本读取?