找回密码
 立即注册
首页 业界区 业界 【Azure Fabric Service】演示使用PowerShell命令部署SF ...

【Azure Fabric Service】演示使用PowerShell命令部署SF应用程序(.NET)

蝙俚 3 天前
问题描述

在中国区微软云Azure上使用Service Fabrics服务,本地通过Visual Studio 2022的发布.NET应用,发现无法发布!
1.png

在搜寻官方文档之后,可以通过PowerShell命令来进行发布。本文参考的文档如下:
1:将应用程序部署到 Service Fabric 群集 (https://docs.azure.cn/zh-cn/service-fabric/scripts/service-fabric-powershell-deploy-application)
2:使用 PowerShell 部署和删除应用程序(https://docs.azure.cn/zh-cn/service-fabric/service-fabric-deploy-remove-applications)
需要使用到的PowerShell脚本如下:
  1. # Login China Azure
  2. Connect-AzAccount -Environment AzureChinaCloud
  3. # set your  default subscription
  4. Select-AzSubscription -Subscription 'xx-x-x-x-xxx'
  5. # Variables
  6. $endpoint = 'mysftestcluster.chinaeast.cloudapp.chinacloudapi.cn:19000'
  7. #获取SF托管集群的服务证书指纹
  8. $serverThumbprint = (Get-AzResource -ResourceId /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/managedclusters/mysfcluster)
  9. .Properties.clusterCertificateThumbprints<br>
  10. $clientThumbprint = '2779F0BB9A969FB88E04915FFE7955D0389DA7AF'
  11. $packagepath="C:\....\Projects\MyApplication\MyApplication\pkg\Release"
  12. ##连接到SF托管集群
  13. Connect-ServiceFabricCluster -ConnectionEndpoint $endpoint -KeepAliveIntervalInSec 10 `
  14.       -X509Credential `
  15.       -ServerCertThumbprint $serverThumbprint  `
  16.       -FindType FindByThumbprint `
  17.       -FindValue $clientThumbprint `
  18.       -StoreLocation CurrentUser `
  19.       -StoreName My
  20. # Copy the application package to the cluster image store.
  21. Copy-ServiceFabricApplicationPackage $packagepath  -ApplicationPackagePathInImageStore MyApplication
  22. # Register the application type.
  23. Register-ServiceFabricApplicationType -ApplicationPathInImageStore MyApplication
  24. # list application type in SF Cluster
  25. Get-ServiceFabricApplicationType
  26. # Create the application instance.
  27. New-ServiceFabricApplication -ApplicationName fabric:/MySFApp02 -ApplicationTypeName  myApp02Type    -ApplicationTypeVersion 1.0.0
复制代码
本文通过图文方式来一步一步展示 部署过程!
 
问题解答

按照以上脚本,登录到China Azure后,最重要的操作是如何使用 Connect-ServiceFabricCluster 连接到SF托管集群。
PS: SF托管集群和自建集群在这里的区别主要是服务器证书指纹需要通过命令获取。而自建集群的服务证书指纹(serverThumbprint)和客户端证书指纹(clientThumbprint)是相同的。
当然,也可以直接在门户中同时获取这两个证书指纹值(Azure 门户 --> SF Overview页面 --> JSON View -> 查看 Properties 值)
2.png

 
准备好参数后,开始一步一步部署SF应用!
第一步:在Visual Studio 2022中打包应用部署包


  • 右键,选择Package, 在输出结果中复制应用包路径
3.gif

第二步:连接到SF集群,上传部署包,并在Service Fabric Explorer中查看

PS: SF Explorer地址:https://..cloudapp.chinacloudapi.cn:19080/Explorer,在打开页面时需要验证本地证书,所以需要在本地环境中安装客户端证书(创建集群时候所设置的证书)。
4.gif

第三步:注册并创建应用实例并启动服务


  • Register-ServiceFabricApplicationType : 在群集上注册应用程序类型和版本。
  • Get-ServiceFabricApplicationType : 获取集群上已经注册的应用程序类型 和版本。
  • New-ServiceFabricApplication   : 从注册的应用程序类型创建应用程序。
5.png

特别注意:还差最后一步让服务运行起来。
进入SF explorer页面中,选择第三步创建的Application,在Service Types部分中,点击Create后,才能让服务正真的运行起来。
6.png

 
当应用中的服务状态变为OK后,即是成功!
 
PS: 此种方式,确实比Visual Studio 2022的直接部署步骤复杂很多。
 
 
参考资料

将应用程序部署到 Service Fabric 群集 (https://docs.azure.cn/zh-cn/service-fabric/scripts/service-fabric-powershell-deploy-application)
使用 PowerShell 部署和删除应用程序(https://docs.azure.cn/zh-cn/service-fabric/service-fabric-deploy-remove-applications)

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册