如何确定运行 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 可执行文件?

如何在本地数据中心安装Service Fabric for Windows集群

使用 *** 的本地 Service Fabric 无法正常工作