部署指南#
预计阅读时间: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: 一个用于自动化部署、扩展和管理容器化应用的开源系统。
根据您的步骤和使用场景,您可以继续以下操作:
本地开发服务器: 快速测试PySyft并准备服务器配置而无需启动实际服务器。参考我们的本地开发指南
新手友好: 在本地机器或云端虚拟机上部署PySyft服务器。为方便起见,提供了针对不同操作系统的指导说明:
高级: 对于编排部署,我们支持Kubernetes。在推进到基于云的部署之前,您可以使用k3d在本地环境中测试此部署。根据您选择的云平台,请参考以下内容: