From 032c1bc305a0fca2bef41b79f64dfed9cdef95ea Mon Sep 17 00:00:00 2001 From: Sarah Gibson Date: Fri, 15 Nov 2024 10:35:03 +0000 Subject: [PATCH 1/2] nmfs-openscapes: create hub-specific nodegroups --- eksctl/nmfs-openscapes.jsonnet | 39 +++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/eksctl/nmfs-openscapes.jsonnet b/eksctl/nmfs-openscapes.jsonnet index c9bd118e0b..287fbbec20 100644 --- a/eksctl/nmfs-openscapes.jsonnet +++ b/eksctl/nmfs-openscapes.jsonnet @@ -25,9 +25,42 @@ local nodeAz = "us-west-2b"; // A `node.kubernetes.io/instance-type label is added, so pods // can request a particular kind of node with a nodeSelector local notebookNodes = [ - { instanceType: "r5.xlarge" }, - { instanceType: "r5.4xlarge" }, - { instanceType: "r5.16xlarge" }, + { + instanceType: "r5.xlarge", + namePrefix: "nb-staging", + labels+: { "2i2c/hub-name": "staging" }, + tags+: { "2i2c:hub-name": "staging" }, + }, + { + instanceType: "r5.xlarge", + namePrefix: "nb-prod", + labels+: { "2i2c/hub-name": "prod" }, + tags+: { "2i2c:hub-name": "prod" }, + }, + { + instanceType: "r5.4xlarge", + namePrefix: "nb-staging", + labels+: { "2i2c/hub-name": "staging" }, + tags+: { "2i2c:hub-name": "staging" }, + }, + { + instanceType: "r5.4xlarge", + namePrefix: "nb-prod", + labels+: { "2i2c/hub-name": "prod" }, + tags+: { "2i2c:hub-name": "prod" }, + }, + { + instanceType: "r5.16xlarge", + namePrefix: "nb-staging", + labels+: { "2i2c/hub-name": "staging" }, + tags+: { "2i2c:hub-name": "staging" }, + }, + { + instanceType: "r5.16xlarge", + namePrefix: "nb-prod", + labels+: { "2i2c/hub-name": "prod" }, + tags+: { "2i2c:hub-name": "prod" }, + }, ]; local daskNodes = []; From 85135b3e1b1685b38d94932ef310d45b542c4489 Mon Sep 17 00:00:00 2001 From: Sarah Gibson Date: Fri, 15 Nov 2024 10:36:43 +0000 Subject: [PATCH 2/2] nmfs-openscapes: add nodeselectors so users are placed on hub-specific nodes --- config/clusters/nmfs-openscapes/prod.values.yaml | 2 ++ config/clusters/nmfs-openscapes/staging.values.yaml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/config/clusters/nmfs-openscapes/prod.values.yaml b/config/clusters/nmfs-openscapes/prod.values.yaml index 98f99b791b..272db5e197 100644 --- a/config/clusters/nmfs-openscapes/prod.values.yaml +++ b/config/clusters/nmfs-openscapes/prod.values.yaml @@ -13,6 +13,8 @@ jupyterhub: - hosts: [nmfs-openscapes.2i2c.cloud] secretName: https-auto-tls singleuser: + nodeSelector: + 2i2c/hub-name: prod extraEnv: SCRATCH_BUCKET: s3://nmfs-openscapes-scratch/$(JUPYTERHUB_USER) PERSISTENT_BUCKET: s3://nmfs-openscapes-persistent/$(JUPYTERHUB_USER) diff --git a/config/clusters/nmfs-openscapes/staging.values.yaml b/config/clusters/nmfs-openscapes/staging.values.yaml index cb0c250a0c..adb9de5e08 100644 --- a/config/clusters/nmfs-openscapes/staging.values.yaml +++ b/config/clusters/nmfs-openscapes/staging.values.yaml @@ -13,6 +13,8 @@ jupyterhub: - hosts: [staging.nmfs-openscapes.2i2c.cloud] secretName: https-auto-tls singleuser: + nodeSelector: + 2i2c/hub-name: staging extraEnv: SCRATCH_BUCKET: s3://nmfs-openscapes-scratch-staging/$(JUPYTERHUB_USER) PERSISTENT_BUCKET: s3://nmfs-openscapes-persistent-staging/$(JUPYTERHUB_USER)