返回首页
最新
我们常常认为工程师或科技行业的人相对世俗,甚至有些人可能把无神论视为智慧的象征,认为“只有心智脆弱的人才需要信仰的安慰”之类的说法。但我知道还有其他一些有灵性或宗教信仰的人,这个问题旨在让你分享你的想法。
因为我认为这是一个非常有趣的问题,无论是从智力角度还是其他方面。
如果这个问题与你的感受不符,另一个可以讨论的方式是:你读过哪些书(或书籍)深刻改变了你的世界观/生活观?你是什么时候读的?
简而言之:我构建了一个虚拟 kubelet,使 Kubernetes 能够将 GPU 任务卸载到 RunPod.io。这对于在不需要全时云 GPU 的情况下扩展机器学习工作负载非常有用。
这个项目源于我在一个内部基于机器学习的 SaaS 项目工作时的需求(该项目最终没有成功)。最初,我们在应用程序中直接使用 RunPod API,因为当时 RunPod 的 GPU 定价最为实惠。但我在家里也有一台 GPU 服务器,想要以更低的成本进行实验。由于我在使用 Kubernetes 处理 CPU 工作负载时有过良好的经验,我安装了 k3s,并将家里的 GPU 节点纳入集群。
这个想法很简单:尽可能使用本地 GPU,当需要时再扩展到 RunPod。应用逻辑保持简洁,Kubernetes 负责基础设施决策。理想情况下,同样的基础设施可以从开发实验扩展到生产工作负载。
**什么没有成功**
我第一次尝试是用 Go 编写一个自定义控制器,监控任务并在 RunPod 上调度它们。我避免使用 CRD,以保持与原生 Job API 的兼容性。考虑到 Go 在 Kubernetes 生态系统中的强大优势,它是一个自然的选择。
这个方法的问题在于,当覆盖 Pod 值并创建虚拟 Pod 时,这种方法不断与 Kubernetes 调度器发生冲突。与 RunPod 的协调和失败的任务导致了循环等问题。我还考虑了排队停滞的任务并触发扩展逻辑,这进一步增加了复杂性,但结果变得一团糟。我写了数千行 Go 代码,却始终无法使其稳定。
**什么有效**
正确的方法是使用虚拟 kubelet。我使用了 CNCF 沙箱项目 virtual-kubelet([https://github.com/virtual-kubelet/virtual-kubelet](https://github.com/virtual-kubelet/virtual-kubelet)),它作为集群中的一个节点进行注册。然后,正常的调度器可以使用污点、容忍度和节点选择器来放置 Pods。当 Pod 被放置在虚拟节点上时,控制器使用第三方 API(在这种情况下是 RunPod 的 API)进行配置。
**当前状态**
目前它在非商业许可证下可用源代码——我希望将其发展成一个可持续的项目。
我与 RunPod 没有任何关联。我与 RunPod 分享了这个项目,他们的工程主管联系我讨论潜在的合作。我们进行了初步会议,他们对继续对话表示了兴趣。他们要求安排后续会议,但我没有收到我的后续联系的回复。这种事情时有发生,人们会忙碌或优先事项会发生变化。无论如何,我很高兴这个项目引起了兴趣,并且我愿意在未来重新考虑它。
欢迎提出问题或反馈。我也欢迎贡献者或我尚未考虑的潜在用例。
随着 iCloud、OneDrive、Google Cloud 和 Dropbox 等云存储订阅服务的增多,边缘计算——在本地运行自己的硬件——提供了令人信服的优势。一个本地网络附加存储(NAS)可以通过使用自托管解决方案(如 Jellyfin 用于媒体流、Frigate 用于监控、照片管理)来替代多个订阅,从而节省成本。你将获得隐私、完全的数据控制和无重复费用,同时在人工智能/机器学习或虚拟化等任务中享有高性能。
通过将本地 NAS 与异地 NAS(例如,朋友家或其他地点)配对,你可以复制数据以实现强大的备份,确保在硬件故障、盗窃或自然灾害面前的韧性。像 TrueNAS 复制或 Unraid 的 rsync 等工具使这一过程无缝结合,结合了本地性能与异地安全,而无需重复支付云费用。
但边缘计算与云计算之间的真实权衡是什么呢?
我正在设计一款低成本的 NAS,支持任何操作系统(TrueNAS、Unraid、OpenMediaVault、Linux),具备 PCIe 3.0 x4 NVMe 缓存(读取速度高达 3000 MB/s,写入速度高达 2000 MB/s)、RAID 或灵活的阵列,以及 25 Gbps 的网络。我希望能获得 HN 的见解,以便为其设计提供指导,或许可以为 Kickstarter 启动做准备。
请在评论中分享你的想法,或填写调查问卷 https://forms.gle/kJe2vFvj2EM7qjqg8
云计算与边缘计算:为什么选择本地 NAS 而不是 iCloud、OneDrive 等?成本、隐私、性能?
使用案例:你的 NAS 将处理哪些任务?Jellyfin、Frigate、备份、人工智能/机器学习?
性能:CPU 性能、能效或可升级性(例如 PCIe 插槽)有多重要?你的局域网速度(1、2.5、10、25 Gbps)?
存储:首选的硬盘位数(2、6、8+)?用于读取/写入的 NVMe 缓存?理想容量(10 TB、50 TB+)?
操作系统:TrueNAS、Unraid、OpenMediaVault、Linux,还是没有偏好?
设计:外观重要吗?展示还是隐藏?
预算:理想价格(不包括硬盘)?
痛点:关于 NAS 或云解决方案,你最感到沮丧的是什么?有什么杀手级功能能促使你转变?
你的想法将帮助构建更好的 NAS。你会在 Kickstarter 上支持这个项目吗?谢谢!