部署指南#

预计阅读时间:5分钟

1. 简介#

欢迎来到PySyft部署指南。本指南旨在帮助您高效地在各种环境中部署PySyft。无论您是PySyft的新手还是经验丰富的用户,本指南都能为您提供有价值的信息。

对于初学者,我们提供了在主流操作系统上的快速部署示例,无论是在本地机器还是虚拟机(VM)上,都可以使用Docker或Podman等工具。这些示例将帮助您轻松入门。

针对高级用户,我们将深入探讨生产环境部署,详细讨论如何使用Kubernetes及其他可扩展解决方案部署PySyft。

此外,我们还提供了一份全面的故障排除指南,帮助您解决常见问题。常见问题解答(FAQ)部分提供了更多帮助,确保部署过程顺利进行。

2. 技术要求#

根据您的操作系统,请参考以下支持矩阵选择适合您的选项。

支持的操作系统 Docker Podman Kubernetes
Linux
RHEL - -
MacOS
Windows - -

3. 基本系统要求#

假设一个简单的设置,托管的数据不超过1GB,我们推荐以下要求。

注意

如果您希望托管更多数据,或支持特别耗资源的计算,可能需要进一步扩展规模。

3.1. 资源#

一台虚拟机或本地机器,需满足以下配置要求:

  • 8核CPU

  • 16GB 内存

  • 300 GB 硬盘空间

  • Debian或RHEL发行版、MacOS或Windows系统

3.2. 网络要求#

对于虚拟机,应配置以下网络安全规则:

  • SSH: 端口 22

  • 开放HTTP端口80

对于本地机器,我们正在开发远程隧道解决方案,如有更多问题,请在Slack上联系我们!

开启HTTP端口(80)

我们需要在80端口上启动应用程序,以允许传入流量。由于SELinux的限制,标准用户在没有超级用户权限的情况下无法直接在小于1024的端口上启动应用程序。出于安全考虑,我们可以不直接为标准用户开放端口,而是进行端口转发,这样标准用户就可以在非特权端口上启动应用。

如需了解如何验证Podman是否在80端口上运行,请参阅Troubleshooting指南。

4. 我应该选择哪种部署方案?#

PySyft的部署策略可以根据不同需求进行定制,需考虑个人需求、资源可用性和硬件限制。如果以下指南未能完全满足您的需求或有任何疑问,请通过Slack联系我们获取支持。

PySyft 是一个容器化应用程序,可以直接使用 Docker 或 Podman 部署,也可以通过 Kubernetes 利用编排能力:

  • 🐳 Docker: 一个基于容器构建应用的软件平台。

  • 🦦 Podman: 一款无需守护进程的容器引擎,用于在Linux系统上开发、管理和运行OCI容器。

  • ☸️ Kubernetes: 一个用于自动化部署、扩展和管理容器化应用的开源系统。

根据您的步骤和使用场景,您可以继续以下操作: