Skip to content

Conversation

@jshmchenxi
Copy link

Add configuration scheduling.userPlaceholder.extraPodSpec for arbitrary extra pod spec for the user placeholder statefulset.

This change arose from a desire to add pod topology spread constraints to the placeholder pods. Our singleuser pods run in different availability zones at runtime, as their corresponding persistent volumes are created in different availability zones. Adding pod topology spread constraints across zones helps improving singleuser pod startup time in different availability zones.

For example,

scheduling:
  userPlaceholder:
    extraPodSpec:
      topologySpreadConstraints:
        - maxSkew: 1
          topologyKey: zone
          whenUnsatisfiable: DoNotSchedule
          labelSelector:
            matchLabels:
              foo: bar

Add configuration `scheduling.userPlaceholder.extraPodSpec` for arbitrary extra pod spec for the user placeholder statefulset.

This change arose from a desire to add pod topology spread constraints to the placeholder pods. Our singleuser pods run in different availability zones at runtime, as their corresponding persistent volumes are created in different availability zones. Adding pod topology spread constraints across zones helps improving singleuser pod startup time in different availability zones.

For example,
```
scheduling:
  userPlaceholder:
    extraPodSpec:
      topologySpreadConstraints:
        - maxSkew: 1
          topologyKey: zone
          whenUnsatisfiable: DoNotSchedule
          labelSelector:
            matchLabels:
              foo: bar
```
@consideRatio consideRatio merged commit 262097b into jupyterhub:main Dec 17, 2024
15 checks passed
consideRatio pushed a commit to jupyterhub/helm-chart that referenced this pull request Dec 17, 2024
jupyterhub/zero-to-jupyterhub-k8s#3590 Merge pull request #3590 from jshmchenxi/add-extra-pod-spec-user-placeholder
@consideRatio
Copy link
Member

Perfect! Thank you @jshmchenxi for very thorough work to align with the repository's practices etc!!

@jshmchenxi
Copy link
Author

@consideRatio Thanks for merging this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants