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

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
性能测试 PTS,5000VUM额度
简介: 本文详细介绍了在中国区微软云Azure上使用Service Fabrics服务时,通过PowerShell命令发布.NET应用的全过程。由于Visual Studio 2022无法直接发布应用,需借助PowerShell脚本完成部署。文章分三步讲解:首先在Visual Studio 2022中打包应用部署包,其次连接SF集群并上传部署包,最后注册应用类型、创建实例并启动服务。过程中涉及关键参数如服务器证书指纹和服务端证书指纹的获取,并附带图文说明,便于操作。参考官方文档,帮助用户成功部署并运行服务。

问题描述

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

在搜寻官方文档之后,可以通过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脚本如下:

# Login China Azure
Connect-AzAccount -Environment AzureChinaCloud

# set your  default subscription
Select-AzSubscription -Subscription 'xx-x-x-x-xxx'


# Variables
$endpoint = 'mysftestcluster.chinaeast.cloudapp.chinacloudapi.cn:19000'
#获取SF托管集群的服务证书指纹
$serverThumbprint = (Get-AzResource -ResourceId /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ServiceFabric/managedclusters/mysfcluster)
.Properties.clusterCertificateThumbprints
$clientThumbprint = '2779F0BB9A969FB88E04915FFE7955D0389DA7AF'

$packagepath="C:\....\Projects\MyApplication\MyApplication\pkg\Release"


##连接到SF托管集群
Connect-ServiceFabricCluster -ConnectionEndpoint $endpoint -KeepAliveIntervalInSec 10 `
      -X509Credential `
      -ServerCertThumbprint $serverThumbprint  `
      -FindType FindByThumbprint `
      -FindValue $clientThumbprint `
      -StoreLocation CurrentUser `
      -StoreName My 


# Copy the application package to the cluster image store.
Copy-ServiceFabricApplicationPackage $packagepath  -ApplicationPackagePathInImageStore MyApplication

# Register the application type.
Register-ServiceFabricApplicationType -ApplicationPathInImageStore MyApplication

 
# list application type in SF Cluster
Get-ServiceFabricApplicationType

# Create the application instance.
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 值)

 

准备好参数后,开始一步一步部署SF应用!

第一步:在Visual Studio 2022中打包应用部署包

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

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

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

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

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

特别注意:还差最后一步让服务运行起来。

进入SF explorer页面中,选择第三步创建的Application,在Service Types部分中,点击Create后,才能让服务正真的运行起来。

 

当应用中的服务状态变为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



当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

目录
打赏
0
72
72
0
203
分享
相关文章
【Azure Fabric Service】分享使用Visual Studio 2022发布中国区Service Fabric服务应用的办法
本文介绍了在Visual Studio 2022中无法直接创建Service Fabric Cluster服务时的替代方案。通过使用PowerShell命令或修改Cloud.xml文件,可将应用部署到已创建的SF Cluster。具体步骤包括:1) 在Azure门户创建Service Fabric服务并安装客户端证书;2) 获取服务端和客户端证书指纹;3) 修改Cloud.xml中的ClusterConnectionParameters后发布应用。最后附有参考资料以供进一步学习。
|
4月前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
81 2
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
134 9
.NET 应用程序安全背后究竟隐藏着多少秘密?从编码到部署全揭秘!
【8月更文挑战第28天】在数字化时代,.NET 应用程序的安全至关重要。从编码阶段到部署,需全面防护以保障系统稳定与用户数据安全。开发者应遵循安全编码规范,实施输入验证、权限管理和加密敏感信息等措施,并利用安全测试发现潜在漏洞。此外,部署时还需选择安全的服务器环境,配置 HTTPS 并实时监控应用状态,确保全方位防护。
85 3
|
7月前
【Azure Fabric Service】Service Fabric部署失败问题 Provisioning of VM extension ConfigureVM has timed out.
【Azure Fabric Service】Service Fabric部署失败问题 Provisioning of VM extension ConfigureVM has timed out.
Hyperledger fabric 测试环境部署
Hyperledger fabric 测试环境部署及相关问题解答
362 3
Hyperledger fabric 测试环境部署
Hyperledger fabric智能合约编写(一)
本篇文章主要对链码编写的主要思路和部分API进行梳理。
257 1

云原生

+关注