我看到有人使用Kubernetes与Slurm共存,我很好奇为什么您需要Kubernetes与Slurm共存? kubernetes和slurm之间的主要区别是什么?
答案 0 :(得分:2)
Slurm是用于大型和小型Linux集群的开源作业调度系统。它主要用作Workload Manager / Job计划程序。主要用于HPC(高性能计算),有时还用于BigData。
Kubernetes是用于Docker容器的编排系统,使用“标签”和“ pod”的概念将容器分组为逻辑单元。它主要是为了运行微服务而创建的,并且AFAIK当前Kubernetes
不支持Slurm。
Slumr作为Job调度程序比Kubernetes具有更多的调度选项,但是K8s不仅是Job调度程序,还是容器编排系统。例如,Kubernetes
支持阵列作业,而Slurm
支持并行和阵列作业。如果您想深入了解排程,请查看this文章。
正如我之前提到的,Kubernetes更专注于容器编排,而Slumr更专注于作业/工作负载调度。 我唯一想到的是,某人需要使用WLM-Operator + K8s + Slurm + Singularity来非常个人定制的集群来执行HPC / BigData作业。
通常,世界上许多超级计算机都使用Slurm Workload Manager来优化并行计算机上任务分配的位置。