Skip to content

Commit

Permalink
Merge branch 'master' into openscapes/persistent-bucket
Browse files Browse the repository at this point in the history
  • Loading branch information
sgibson91 authored Mar 25, 2024
2 parents 2801330 + 466d193 commit 81133dd
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 11 deletions.
16 changes: 16 additions & 0 deletions config/clusters/smithsonian/common.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,22 @@ basehub:
add_staff_user_ids_of_type: "github"
jupyterhubConfigurator:
enabled: false

singleuserAdmin:
extraVolumeMounts:
- name: home
mountPath: /home/jovyan/allusers
- name: home
mountPath: /home/rstudio/allusers
# mounts below are copied from basehub's values that we override by
# specifying extraVolumeMounts (lists get overridden when helm values
# are combined)
- name: home
mountPath: /home/jovyan/shared-readwrite
subPath: _shared
- name: home
mountPath: /home/rstudio/shared-readwrite
subPath: _shared
homepage:
templateVars:
org:
Expand Down
1 change: 1 addition & 0 deletions docs/howto/features/gpu.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ series nodes.
7. Ask for the increase, and wait. This can take *several working days*,
so do it as early as possible!

(howto:features:gpu:aws:nodegroup)=
#### Setup GPU nodegroup on eksctl

We use `eksctl` with `jsonnet` to provision our kubernetes clusters on
Expand Down
18 changes: 7 additions & 11 deletions docs/hub-deployment-guide/cloud-accounts/new-aws-account.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,9 @@ increase_[^2] for any substantial use of their services. Quotas act as an upper
bound of for example the number of CPUs from a certain machine type and the
amount of public IPs that the account can acquire.

When an AWS account is created under our AWS Organization, a Service Quota
increase request is automatically submitted thanks to what AWS refer to
"Organization templates", "Quota request template", and "Template
association"[^3].

Following account creation, make sure to check our emails to see what is being
requested and if its approved.
When an AWS account is created under our AWS Organization, the default quotas
that AWS applies to our organization are already set up for for the new account.
By default, we don't need to request quota increases here.

We typically need to increase three kinds of quotas described below. The values
of these are all 'Total CPUs' and hence larger nodes consume more quota.
Expand All @@ -67,15 +63,15 @@ of these are all 'Total CPUs' and hence larger nodes consume more quota.
These instances are what we use for everything besides the exceptions noted
below.

All our hubs will require an increase in this quota.
By default, AWS grants us 640 quota here.

- **Spot instance quota** (`All Standard (A, C, D, H, I, M, R, T, Z) Spot Instance Requests`)

A spot instance is a cheaper instance not guaranteed to be available like
standard instances are. We configure these to be used by dask worker pods as
created for dask-gateway provided clusters.

Our `daskhub` hubs will require an increase in this quota.
By default, AWS grants us 640 quota here.

- **GPU instance or high memory instance quota**

Expand All @@ -84,7 +80,8 @@ of these are all 'Total CPUs' and hence larger nodes consume more quota.
High Memory instances`) is requested specifically to be able to use GPU
powered machines or machines with high amounts of RAM memory.

Our custom tailored hubs will require an increase in this quota.
By default, AWS grants us 64 quota here for GPU instances and 448 for
high memory instances.

### Manually requesting a quota increase

Expand All @@ -96,4 +93,3 @@ of these are all 'Total CPUs' and hence larger nodes consume more quota.

[^1]: AWS documentation on creating new accounts in an Organization: <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_create.html>
[^2]: AWS documentation on service quotas: <https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html>
[^3]: AWS documentation on request templates: <https://docs.aws.amazon.com/servicequotas/latest/userguide/organization-templates.html>
5 changes: 5 additions & 0 deletions docs/hub-deployment-guide/new-cluster/aws.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ This will generate the following files:
4. `terraform/aws/projects/$CLUSTER_NAME.tfvars`, a terraform variables file that will setup
most of the non EKS infrastructure.

### Add GPU nodegroup if needed

If this cluster is going to have GPUs, you should edit the generated jsonnet file
to [include a GPU nodegroups](howto:features:gpu:aws:nodegroup).

### Create and render an eksctl config file

We use an eksctl [config file](https://eksctl.io/usage/schema/) in YAML to specify
Expand Down
4 changes: 4 additions & 0 deletions docs/topic/infrastructure/storage-layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ jupyterhub:
mountPath: /home/jovyan/allusers
# Uncomment the line below to make the directory readonly for admins
# readOnly: true
- name: home
mountPath: /home/rstudio/allusers
# Uncomment the line below to make the directory readonly for admins
# readOnly: true
# mounts below are copied from basehub's values that we override by
# specifying extraVolumeMounts (lists get overridden when helm values
# are combined)
Expand Down

0 comments on commit 81133dd

Please sign in to comment.