在 Linux 上准备开发环境
若要在 Linux 开发计算机上部署和运行 Azure Service Fabric 应用程序,请安装运行时和常用 SDK。 还可以安装用于 Java 和 .NET Core 开发的可选 SDK。
本文中的步骤假设你在 Linux 上进行本地安装,或者使用 Service Fabric OneBox 容器映像(即 mcr.microsoft.com/service-fabric/onebox:u18
)。
可以使用 Azure Service Fabric 命令行界面 (CLI) 来管理托管在云中或本地的 Service Fabric 实体。 有关如何安装 CLI 的信息,请参阅设置 Service Fabric CLI。
确保使用的是受支持的 Linux 版本。
安装
apt-transport-https
包:sudo apt-get install apt-transport-https
若要通过 apt-get 命令行工具安装 SDK 和关联的运行时包,必须首先更新高级打包工具 (APT) 源。
为方便起见,我们提供了一个脚本,用于连同 sfctl CLI 一起安装 Service Fabric 运行时和 Service Fabric 通用 SDK。 运行该脚本即认为你同意所要安装的所有软件的许可条款。 也可运行下一部分的手动安装步骤,这会显示关联的许可证以及要安装的组件。
成功运行脚本后,可以跳转到设置本地群集。
sudo curl -s https://raw.githubusercontent.com/Azure/service-fabric-scripts-and-templates/master/scripts/SetupServiceFabric/SetupServiceFabric.sh | sudo bash
有关手动安装 Service Fabric 运行时和通用 SDK,请遵照本指南的余下部分操作。
打开终端。
将
dotnet
存储库添加到与发行版相对应的源列表。wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb
向 APT Keyring 添加新的 MS Open Tech Gnu 隐私防护(GnuPG 或 GPG)密钥。
sudo curl -fsSL https://packages.microsoft.com/keys/msopentech.asc | sudo apt-key add -
向 APT Keyring 添加官方的 Docker GPG 密钥。
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置 Docker 存储库。
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
将 Azul JDK 密钥添加到 APT Keyring 并设置其存储库。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 sudo apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main"
根据新添加的存储库刷新包列表。
sudo apt-get update
更新源后,可安装 SDK。 安装 Service Fabric SDK 包,确认安装,并同意许可协议。
sudo apt-get install servicefabricsdkcommon
提示
以下命令自动接受 Service Fabric 包的许可证:
echo "servicefabric servicefabric/accepted-eula-ga select true" | sudo debconf-set-selections
echo "servicefabricsdkcommon servicefabricsdkcommon/accepted-eula-ga select true" | sudo debconf-set-selections
- 启动本地 Service Fabric 群集进行开发。
启动基于容器的 Service Fabric Onebox 群集。
安装 Moby 以便能够部署 Docker 容器。
sudo apt-get install moby-engine moby-cli -y
使用以下设置更新主机上的 Docker 守护程序配置并重启 Docker 守护程序。 详细信息:启用 IPv6 支持
{ "ipv6": true, "fixed-cidr-v6": "fd00::/64" }
启动群集。
Ubuntu 20.04 LTS:docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u20
Ubuntu 18.04 LTS:
docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mcr.microsoft.com/service-fabric/onebox:u18
提示
默认情况下,这样会拉取具有最新 Service Fabric 版本的映像。 如需特定的修订版本,请访问 Docker 中心页。
打开 Web 浏览器,转到 Service Fabric Explorer (
http://localhost:19080/Explorer
)。 群集启动后,可以看到 Service Fabric Explorer 仪表板。 群集完全设置可能需要几分钟时间。 如果浏览器无法打开该 URL 或者 Service Fabric Explorer 未显示系统已准备就绪,请等待几分钟,然后重试。此时,能够部署预生成的 Service Fabric 应用程序包或基于来宾容器或来宾可执行文件的新应用程序包。 若要使用 Java 或 .NET Core SDK 生成新服务,请遵循以下部分中的可选设置步骤操作。
备注
Linux 不支持独立的群集。
提示
如果有可用的 SSD 磁盘,建议配合使用 --clusterdataroot
与 devclustersetup.sh 来传递 SSD 文件夹路径,实现优异的性能。
Service Fabric CLI 包含用来与 Service Fabric 实体(包括群集和应用程序)交互的命令。 若要安装 CLI,请按照 Service Fabric CLI 中的说明进行操作。
Service Fabric 提供基架工具,可以借助此类工具,使用 Yeoman 模板生成器从终端创建 Service Fabric 应用程序。 遵循以下步骤安装 Service Fabric Yeoman 模板生成器:
在计算机上安装 Node.js 和 npm。
sudo add-apt-repository "deb https://deb.nodesource.com/node_8.x $(lsb_release -s -c) main" sudo apt-get update sudo apt-get install nodejs
通过 npm 在计算机上安装 Yeoman 模板生成器。
sudo npm install -g yo
通过 npm 安装 Service Fabric Yeo 容器生成器和来宾可执行文件生成器。
sudo npm install -g generator-azuresfcontainer # for Service Fabric container application sudo npm install -g generator-azuresfguest # for Service Fabric guest executable application
安装生成器后,可通过运行 yo azuresfguest
或 yo azuresfcontainer
分别创建来宾可执行文件或容器服务。
安装用于 Ubuntu 的 .NET Core 3.1 SDK,开始创建 C# Service Fabric 应用程序。 .NET Core Service Fabric 应用程序包在 NuGet.org 上托管。
若要使用 Java 生成 Service Fabric 服务,请安装 Gradle 以运行生成任务。 运行以下命令来安装 Gradle。 Service Fabric Java 库是从 Maven 拉取的。
Ubuntu
curl -s https://get.sdkman.io | bash sdk install gradle 5.1
Red Hat Enterprise Linux 7.4(Service Fabric 预览版支持)
sudo yum install java-1.8.0-openjdk-devel curl -s https://get.sdkman.io | bash sdk install gradle
还需要为 Java 可执行文件安装 Service Fabric Yeo 生成器。 确保已安装 Yeoman,然后运行以下命令:
npm install -g generator-azuresfjava
可以在面向 Java 开发人员或 Java EE 开发人员的 Eclipse IDE 中安装用于 Service Fabric 的 Eclipse 插件。 可以使用 Eclipse,在 Service Fabric Java 应用程序的基础上创建 Service Fabric 来宾可执行应用程序和容器应用程序。
重要
Service Fabric 插件需要 Eclipse Neon 或更高版本。 请参阅此注意事项后面的说明,了解如何查看 Eclipse 的版本。 如果安装的是较旧版本的 Eclipse,可以从 Eclipse 站点下载较新的版本。 建议不要在现有 Eclipse 安装版本的基础上进行安装(覆盖)。 可以先删除现有版本,然后再运行安装程序,也可以在另一目录中安装较新的版本。
在 Ubuntu 上,建议直接从 Eclipse 站点进行安装,而不是使用包安装程序(apt
或 apt-get
)。 这样做可确保获取最新版 Eclipse。 可以安装面向 Java 开发人员或 Java EE 开发人员的 Eclipse IDE。
在 Eclipse 中,请确保已安装 Eclipse Neon 或更高版本,以及 Buildship 2.2.1 版或更高版本。 可以通过选择“帮助”>“关于 Eclipse”>“安装详细信息”查看已安装组件的版本 。 可以按 Eclipse Buildship:适用于 Gradle 的 Eclipse 插件中的说明更新 Buildship。
若要安装 Service Fabric 插件,请选择“帮助”>“安装新软件” 。
在“使用”框中,输入 https://dl.microsoft.com/eclipse。
选择 添加 。
选择 ServiceFabric 插件,然后选择“下一步” 。
执行安装步骤。 然后接受最终用户许可协议。
如果已安装 Service Fabric Eclipse 插件,请确保使用最新版本。 通过选择“帮助”>“关于 Eclipse”>“安装详细信息”查看 。 然后,在已安装插件的列表中搜索 Service Fabric。如果可以使用更新的版本,请选择“更新”。
有关详细信息,请参阅使用适用于 Eclipse 的 Service Fabric 插件开发 Java 应用程序。
若要更新到最新版本的 SDK 和运行时,请运行以下命令。
sudo apt-get update
sudo apt-get install servicefabric servicefabricsdkcommon
若要从 Maven 更新 Java SDK 二进制文件,需在 build.gradle
文件中更新相应的二进制文件的版本详细信息,使之指向最新 版本。 若要确切地了解需要在何处更新版本,请参阅 Service Fabric 入门示例中的任何 build.gradle
文件。
备注
更新这些包可能导致本地开发群集停止运行。 按本文中的说明操作,在升级后重启本地群集。
若要删除 Service Fabric SDK,请运行以下命令。
Ubuntu
sudo apt-get remove servicefabric servicefabicsdkcommon npm uninstall -g generator-azuresfcontainer npm uninstall -g generator-azuresfguest sudo apt-get install -f
Red Hat Enterprise Linux 7.4(Service Fabric 预览版支持)
sudo yum remove servicefabric servicefabicsdkcommon npm uninstall -g generator-azuresfcontainer npm uninstall -g generator-azuresfguest