如何确定运行 Service Fabric 集群的操作系统类型
Posted
技术标签:
【中文标题】如何确定运行 Service Fabric 集群的操作系统类型【英文标题】:How to determine the type of OS the service fabric cluster is running on 【发布时间】:2021-12-01 23:28:49 【问题描述】:我正在尝试找出连接到我的 Service Fabric 群集后运行的操作系统类型(Win 或 Linux)。我需要确定运行 SF 集群的操作系统类型,因此我可以相应地修改应用程序端点的 ServiceManifest.xml 端点名称。在 Windows 上,您的端点需要有 '.exe',但如果您将服务部署到 Linux 集群,则没有它
Windows
<EntryPoint>
<ExeHost>
<Program>MyApp.exe</Program>
</ExeHost>
</EntryPoint>
Linux
<EntryPoint>
<ExeHost>
<Program>MyApp</Program>
</ExeHost>
</EntryPoint>
我希望项目中只有一个 ServiceManifest.xml 并相应地修改它
我查看了 sfctl 和 PowerShell CLI 实用程序,但找不到有关集群运行的操作系统的任何信息。
知道如何在连接到集群后确定操作系统类型
更新: 我发现如果您的集群在 Azure 云中运行,您可以使用
az sf cluster list
在那里你可以找到vmImage="Windows"
属性。但是你不能在 localhost
【问题讨论】:
【参考方案1】:在 localhost 上,您可以使用常规的 PowerShell Core 来找出脚本在哪个操作系统上运行:
[System.Environment]::OSVersion.Platform
【讨论】:
当我在 Windows 机器上的 Docker 中运行 Linux 集群时,这在我的情况下不起作用。我需要知道我将要部署的目标本地主机操作系统以上是关于如何确定运行 Service Fabric 集群的操作系统类型的主要内容,如果未能解决你的问题,请参考以下文章
Azure Service Fabric 集群在 Windows 7 单机上运行 Windows 容器
具有 5 个节点的 Service Fabric 本地开发集群运行的实例和分区少于预期
如何使用 CLI 部署到 Service Fabric 群集
您如何监控 Fabric.exe 和其他 Service Fabric 可执行文件?