<p>I recently hosted Jupyterhub in our K8s cluster. We set memory limits to 1GB so now all Jupyter notebook are with this configuration. But we have notebooks which are resource(memory and cpu) intensive and some notebooks are not resource intensive</p>
<p>So , is there anyway to assign different resource for multiple jupyter pods ?</p>
<p>I am  using  helm chart to deploy jupyterhub  <a href="https://zero-to-jupyterhub.readthedocs.io/en/latest/jupyterhub/installation.html" rel="nofollow noreferrer">https://zero-to-jupyterhub.readthedocs.io/en/latest/jupyterhub/installation.html</a></p>

<p>We use <a href="https://zero-to-jupyterhub.readthedocs.io/en/latest/jupyterhub/customizing/user-environment.html#using-multiple-profiles-to-let-users-select-their-environment" rel="nofollow noreferrer">profiles</a> to allow users to select from pods of different sizes. The pods are all deployed on large nodes, but users can select whether they get a half- or full-node pod.</p>
<p>As an example, we build off the daskhub configuration (full spec <a href="https://github.com/RhodiumGroup/daskhub-rhg-config/blob/main/daskhub-rhg/values.yaml" rel="nofollow noreferrer">here</a>):</p>
<pre class="lang-yaml prettyprint-override"><code>daskhub:
  jupyterhub:
    singleuser:
      image:
      cpu:
        limit: 3.5
        guarantee: 3.5
      memory:
        limit: 22.5G
        guarantee: 22.5G
      profileList:
        - display_name: &quot;default&quot;
          description: &quot;Default notebook size&quot;
          default: true
        - display_name: &quot;large&quot;
          description: &quot;Larger notebook allowance&quot;
          kubespawner_override:
            cpu_limit: 7.0
            cpu_guarantee: 7.0
            mem_limit: 45G
            mem_guarantee: 45G
</code></pre>
<p>These are both spawned on 8CPU / 52GB nodes, but two of the smaller pods will go on the same node (assuming 2 users selecting &quot;default&quot;).</p>
