最大化Jupyterhub Pod资源分配的最佳方法是什么

时间:2019-12-22 08:31:45

标签: docker kubernetes jupyterhub

我们公司拥有Openshift环境。
我们正在尝试使用jupyterhub最大化数据科学家之间的资源。
是否可以根据需求按需求动态动态分配更多资源(如果有可用的免费资源)。

1 个答案:

答案 0 :(得分:1)

您可以看一下设置资源限制。 (我很违反直觉)。

在Kubernetes中(因此在OpenShift中),您可以设置资源requestslimits

资源requests是运行它的节点上的调度程序所保证的最小Pod。另一方面,资源Limits可让您的广告连播超出其请求的资源,直至达到指定的限制。

不设置资源requestslimits与设置资源有什么区别?

设置资源requestslimits

    调度程序知道所使用的资源。可以根据所需资源来计划新资源。 如果节点达到最大资源利用率,
  • 调度程序可以在节点之间重新平衡pod
  • pods不能超过指定的limits
  • 保证Pod至少获得requests中指定的资源

设置资源requestslimits

    调度程序知道所使用的资源。可以根据最佳猜测安排新资源(例如吊舱)。不能保证这些新容器获得稳定运行所需的最少资源。
  • 调度程序至少在没有requests的情况下无法重新分配资源
  • pods可以不受限制地利用内存/ cpu
  • 不保证Pod的内存/ CPU时间

如何设置资源requestslimits

最后它应该看起来像这样

apiVersion: v1
kind: Pod
spec:
  containers:
  - image: openshift/hello-openshift
    name: hello-openshift
    resources:
      requests:
        cpu: 100m 
        memory: 200Mi 
        ephemeral-storage: 1Gi 
      limits:
        cpu: 200m 
        memory: 400Mi 
        ephemeral-storage: 2Gi 

其他信息可在此处找到