在 Service Fabric 中取消配置旧应用程序类型版本的策略

Dav*_*e N 4 powershell azure azure-service-fabric

有没有办法在集群上设置某种配置来删除服务结构应用程序类型版本?比如只保留最后 5 个版本之类的?

例如,我让 CI/CD 将新版本的 Service Fabric 应用程序部署到我们的集群,它在集群中留下了一堆应用程序版本类型。有没有办法随着时间的推移自动取消配置它们或仅保留一定数量的版本?

Kir*_*l Z 5

我想到了两个选择——

  • 执行 Deploy-FabricApplication.ps1 时指定UnregisterUnusedApplicationVersionsAfterUpgrade = $true 。该参数指示升级完成后是否注销存在的任何未使用的应用程序版本。

  • 将自定义脚本添加到您的发布定义、部署脚本或任何您想要的位置,这将解析所有已部署的应用程序类型并取消配置那些您认为过时的应用程序类型。以下是您需要使用的命令 - Unregister-ServiceFabricApplicationType。以下是注销除正在运行的应用程序类型之外的所有应用程序类型的脚本的一些示例 -

    #resolve all app types
    $appTypes = Get-ServiceFabricApplicationType
    foreach($appType in $appTypes)
    {
       #try to find the match with any of installed applications
       $match = Get-ServiceFabricApplication -ApplicationTypeName $appType.ApplicationTypeName | Where-Object {$_.ApplicationTypeVersion -eq $appType.ApplicationTypeVersion}
       if(!$match)
       {
           Write-Host "Deleting $($appType.ApplicationTypeName) $($appType.ApplicationTypeVersion)"
           Unregister-ServiceFabricApplicationType -ApplicationTypeName $appType.ApplicationTypeName -ApplicationTypeVersion $appType.ApplicationTypeVersion -Force -Confirm
       }    
    }
    
    Run Code Online (Sandbox Code Playgroud)