Skip to content

Commit

Permalink
Merge pull request 2i2c-org#5117 from sgibson91/catalyst-af/dedicated…
Browse files Browse the repository at this point in the history
…-nodegroups

catalyst-af: create hub-specific nodegroups
  • Loading branch information
sgibson91 authored Nov 18, 2024
2 parents 103e115 + 950a849 commit c45702a
Show file tree
Hide file tree
Showing 11 changed files with 224 additions and 15 deletions.
3 changes: 3 additions & 0 deletions config/clusters/catalystproject-africa/aibst.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ jupyterhub:
Authenticator:
admin_users:
- zchikwambi
singleuser:
nodeSelector:
2i2c/hub-name: aibst
2 changes: 2 additions & 0 deletions config/clusters/catalystproject-africa/bhki.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,7 @@ jupyterhub:
admin_users:
- LandiMi2
singleuser:
nodeSelector:
2i2c/hub-name: bhki
extraEnv:
PERSISTENT_BUCKET: s3://catalystproject-africa-persistent-bhki/$(JUPYTERHUB_USER)
3 changes: 3 additions & 0 deletions config/clusters/catalystproject-africa/bon.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ jupyterhub:
admin_users:
- Seunolufemi123
- Emmanuel19-ada
singleuser:
nodeSelector:
2i2c/hub-name: bon
3 changes: 3 additions & 0 deletions config/clusters/catalystproject-africa/kush.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ jupyterhub:
Authenticator:
admin_users:
- Fadlelmola
singleuser:
nodeSelector:
2i2c/hub-name: kush
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ jupyterhub:
Authenticator:
admin_users:
- Monsurat-Onabajo
singleuser:
nodeSelector:
2i2c/hub-name: molerhealth
3 changes: 3 additions & 0 deletions config/clusters/catalystproject-africa/must.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,6 @@ jupyterhub:
Authenticator:
admin_users:
- "[email protected]"
singleuser:
nodeSelector:
2i2c/hub-name: must
3 changes: 3 additions & 0 deletions config/clusters/catalystproject-africa/nm-aist.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,6 @@ jupyterhub:
Authenticator:
admin_users:
- "[email protected]"
singleuser:
nodeSelector:
2i2c/hub-name: nm-aist
3 changes: 3 additions & 0 deletions config/clusters/catalystproject-africa/staging.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@ jupyterhub:
# Authenticator:
# admin_users:
# - future-community-champion
singleuser:
nodeSelector:
2i2c/hub-name: staging
3 changes: 3 additions & 0 deletions config/clusters/catalystproject-africa/uvri.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,6 @@ jupyterhub:
Authenticator:
admin_users:
- eddUG
singleuser:
nodeSelector:
2i2c/hub-name: uvri
3 changes: 3 additions & 0 deletions config/clusters/catalystproject-africa/wits.values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ jupyterhub:
Authenticator:
admin_users:
- gentlelab2016
singleuser:
nodeSelector:
2i2c/hub-name: wits
210 changes: 195 additions & 15 deletions eksctl/catalystproject-africa.jsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ local nodeAz = "af-south-1a";
// A `node.kubernetes.io/instance-type label is added, so pods
// can request a particular kind of node with a nodeSelector
local notebookNodes = [
// staging hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
Expand All @@ -33,39 +34,216 @@ local notebookNodes = [
tags+: { "2i2c:hub-name": "staging" },
},
{
instanceType: "r5.xlarge",
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-prod",
labels+: { "2i2c/hub-name": "prod" },
tags+: { "2i2c:hub-name": "prod" },
namePrefix: "nb-staging",
labels+: { "2i2c/hub-name": "staging" },
tags+: { "2i2c:hub-name": "staging" },
},
{
instanceType: "r5.4xlarge",
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-staging",
labels+: { "2i2c/hub-name": "staging" },
tags+: { "2i2c:hub-name": "staging" },
},
// nm-aist hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-nm-aist",
labels+: { "2i2c/hub-name": "nm-aist" },
tags+: { "2i2c:hub-name": "nm-aist" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-prod",
labels+: { "2i2c/hub-name": "prod" },
tags+: { "2i2c:hub-name": "prod" },
namePrefix: "nb-nm-aist",
labels+: { "2i2c/hub-name": "nm-aist" },
tags+: { "2i2c:hub-name": "nm-aist" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-staging",
labels+: { "2i2c/hub-name": "staging" },
tags+: { "2i2c:hub-name": "staging" },
namePrefix: "nb-nm-aist",
labels+: { "2i2c/hub-name": "nm-aist" },
tags+: { "2i2c:hub-name": "nm-aist" },
},
// must hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-must",
labels+: { "2i2c/hub-name": "must" },
tags+: { "2i2c:hub-name": "must" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-must",
labels+: { "2i2c/hub-name": "must" },
tags+: { "2i2c:hub-name": "must" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-must",
labels+: { "2i2c/hub-name": "must" },
tags+: { "2i2c:hub-name": "must" },
},
// uvri hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-uvri",
labels+: { "2i2c/hub-name": "uvri" },
tags+: { "2i2c:hub-name": "uvri" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-uvri",
labels+: { "2i2c/hub-name": "uvri" },
tags+: { "2i2c:hub-name": "uvri" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-uvri",
labels+: { "2i2c/hub-name": "uvri" },
tags+: { "2i2c:hub-name": "uvri" },
},
// wits hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-wits",
labels+: { "2i2c/hub-name": "wits" },
tags+: { "2i2c:hub-name": "wits" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-wits",
labels+: { "2i2c/hub-name": "wits" },
tags+: { "2i2c:hub-name": "wits" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-wits",
labels+: { "2i2c/hub-name": "wits" },
tags+: { "2i2c:hub-name": "wits" },
},
// kush hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-kush",
labels+: { "2i2c/hub-name": "kush" },
tags+: { "2i2c:hub-name": "kush" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-kush",
labels+: { "2i2c/hub-name": "kush" },
tags+: { "2i2c:hub-name": "kush" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-kush",
labels+: { "2i2c/hub-name": "kush" },
tags+: { "2i2c:hub-name": "kush" },
},
// molerhealth hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-molerhealth",
labels+: { "2i2c/hub-name": "molerhealth" },
tags+: { "2i2c:hub-name": "molerhealth" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-molerhealth",
labels+: { "2i2c/hub-name": "molerhealth" },
tags+: { "2i2c:hub-name": "molerhealth" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-molerhealth",
labels+: { "2i2c/hub-name": "molerhealth" },
tags+: { "2i2c:hub-name": "molerhealth" },
},
// aibst hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-aibst",
labels+: { "2i2c/hub-name": "aibst" },
tags+: { "2i2c:hub-name": "aibst" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-aibst",
labels+: { "2i2c/hub-name": "aibst" },
tags+: { "2i2c:hub-name": "aibst" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-aibst",
labels+: { "2i2c/hub-name": "aibst" },
tags+: { "2i2c:hub-name": "aibst" },
},
// bhki hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-bhki",
labels+: { "2i2c/hub-name": "bhki" },
tags+: { "2i2c:hub-name": "bhki" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-bhki",
labels+: { "2i2c/hub-name": "bhki" },
tags+: { "2i2c:hub-name": "bhki" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-bhki",
labels+: { "2i2c/hub-name": "bhki" },
tags+: { "2i2c:hub-name": "bhki" },
},
// bon hub
{
instanceType: "r5.xlarge",
volumeSize: 400,
namePrefix: "nb-bon",
labels+: { "2i2c/hub-name": "bon" },
tags+: { "2i2c:hub-name": "bon" },
},
{
instanceType: "r5.4xlarge",
volumeSize: 400,
namePrefix: "nb-bon",
labels+: { "2i2c/hub-name": "bon" },
tags+: { "2i2c:hub-name": "bon" },
},
{
instanceType: "r5.16xlarge",
volumeSize: 400,
namePrefix: "nb-prod",
labels+: { "2i2c/hub-name": "prod" },
tags+: { "2i2c:hub-name": "prod" },
namePrefix: "nb-bon",
labels+: { "2i2c/hub-name": "bon" },
tags+: { "2i2c:hub-name": "bon" },
},
];
local daskNodes = [];
Expand Down Expand Up @@ -140,7 +318,7 @@ local daskNodes = [];
[
ng + {
namePrefix: 'core',
nameSuffix: 'a',
nameSuffix: 'b',
nameIncludeInstanceType: false,
availabilityZones: [nodeAz],
ssh: {
Expand All @@ -153,6 +331,7 @@ local daskNodes = [];
"hub.jupyter.org/node-purpose": "core",
"k8s.dask.org/node-purpose": "core"
},
tags+: { "2i2c:node-purpose": "core" },
},
] + [
ng + {
Expand All @@ -168,6 +347,7 @@ local daskNodes = [];
"hub.jupyter.org/node-purpose": "user",
"k8s.dask.org/node-purpose": "scheduler"
},
tags+: { "2i2c:node-purpose": "user" },
taints+: {
"hub.jupyter.org_dedicated": "user:NoSchedule",
"hub.jupyter.org/dedicated": "user:NoSchedule"
Expand Down

0 comments on commit c45702a

Please sign in to comment.