Service Fabric 重启应用程序
Service Fabric Restart Application
我有一个在启动时从 KeyVault 读取的服务结构应用程序。当我们更改 KeyVault 值时,我们必须重新启动节点才能读取新值。这会导致同一节点上的其他应用程序关闭。
我正在尝试编写一个 PowerShell 脚本来重新启动服务结构应用程序我有以下脚本可在 1 节点集群上运行,但它不适用于多节点集群。
Restart-ServiceFabricDeployedCodePackage -ApplicationName $appName -CommandCompletionMode Verify -ServiceName $ServiceName -TimeoutSec 8000
当我有一个多节点集群时,这不起作用。我不明白为什么它不起作用。
我是不是做错了什么?
我使这个 powershell 命令起作用的最少参数数量是:
-ApplicationName
-NodeName
-ServiceManifestName
-CodePackageName
-ServicePackageActivationId
像这样:
Restart-ServiceFabricDeployedCodePackage -ApplicationName fabric:/App -NodeName "Node01" -ServiceManifestName "ServicePkg" -CodePackageName "Code" -ServicePackageActivationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
使用此命令有时会出现奇怪的错误 Did not find deployed code package for fabric:/App:Code on node Node01
但至少每次服务重新启动时都会出现。我玩过其他参数组合但没有运气。看来上面的参数是必须的。
编写在所有节点上重新启动特定服务(并且仅此服务)的通用 powershell 脚本,我会首先获取所有节点名称 运行ning Get-ServiceFabricNode
然后迭代这些名称 运行 Get-ServiceFabricDeployedCodePackage -NodeName Node01 -ApplicationName fabric:/App -ServiceManifestName ServicePkg
以便采用 ServicePackageActivationId
这是唯一动态的参数。最后用 ServicePackageActivationId
运行 Restart-ServiceFabricDeployedCodePackage
我有一个在启动时从 KeyVault 读取的服务结构应用程序。当我们更改 KeyVault 值时,我们必须重新启动节点才能读取新值。这会导致同一节点上的其他应用程序关闭。
我正在尝试编写一个 PowerShell 脚本来重新启动服务结构应用程序我有以下脚本可在 1 节点集群上运行,但它不适用于多节点集群。
Restart-ServiceFabricDeployedCodePackage -ApplicationName $appName -CommandCompletionMode Verify -ServiceName $ServiceName -TimeoutSec 8000
当我有一个多节点集群时,这不起作用。我不明白为什么它不起作用。
我是不是做错了什么?
我使这个 powershell 命令起作用的最少参数数量是:
-ApplicationName
-NodeName
-ServiceManifestName
-CodePackageName
-ServicePackageActivationId
像这样:
Restart-ServiceFabricDeployedCodePackage -ApplicationName fabric:/App -NodeName "Node01" -ServiceManifestName "ServicePkg" -CodePackageName "Code" -ServicePackageActivationId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
使用此命令有时会出现奇怪的错误 Did not find deployed code package for fabric:/App:Code on node Node01
但至少每次服务重新启动时都会出现。我玩过其他参数组合但没有运气。看来上面的参数是必须的。
编写在所有节点上重新启动特定服务(并且仅此服务)的通用 powershell 脚本,我会首先获取所有节点名称 运行ning Get-ServiceFabricNode
然后迭代这些名称 运行 Get-ServiceFabricDeployedCodePackage -NodeName Node01 -ApplicationName fabric:/App -ServiceManifestName ServicePkg
以便采用 ServicePackageActivationId
这是唯一动态的参数。最后用 ServicePackageActivationId
运行 Restart-ServiceFabricDeployedCodePackage