diff --git a/config/hubs/farallon.cluster.yaml b/config/hubs/farallon.cluster.yaml new file mode 100644 index 0000000000..563869eba2 --- /dev/null +++ b/config/hubs/farallon.cluster.yaml @@ -0,0 +1,164 @@ +name: farallon +provider: kubeconfig +kubeconfig: + file: secrets/farallon.yaml +hubs: + - name: farallon-staging + domain: staging.farallon.2i2c.cloud + template: daskhub + auth0: + connection: github + config: + scratchBucket: + enabled: false + base-hub: + nfsPVC: + nfs: + serverIP: fs-7b129903.efs.us-east-2.amazonaws.com + baseShareName: /homes + shareCreator: + tolerations: + - key: node-role.kubernetes.io/master + operator: "Exists" + effect: "NoSchedule" + jupyterhub: + homepage: + templateVars: + org: + name: Farallon Institute + logo_url: https://2i2c.org/media/logo.png + url: http://www.faralloninstitute.org/ + designed_by: + name: 2i2c + url: https://2i2c.org + operated_by: + name: 2i2c + url: https://2i2c.org + funded_by: + name: Farallon Institute + urL: http://www.faralloninstitute.org/ + profileList: + # The mem-guarantees are here so k8s doesn't schedule other pods + # on these nodes. + - display_name: "Default: m5.xlarge" + description: "~4CPUs & ~15GB RAM" + kubespawner_override: + mem_guarantee: 14G + cpu_guarantee: 3 + node_selector: + hub.jupyter.org/pool-name: notebook-m5-xlarge + - display_name: "Default: m5.2xlarge" + description: "~8CPUs & ~30GB RAM" + kubespawner_override: + mem_guarantee: 28G + cpu_guarantee: 7 + node_selector: + hub.jupyter.org/pool-name: notebook-m5-2xlarge + scheduling: + userPlaceholder: + enabled: false + replicas: 0 + userScheduler: + enabled: false + proxy: + service: + type: LoadBalancer + + chp: + nodeSelector: {} + tolerations: + - key: "node-role.kubernetes.io/master" + effect: "NoSchedule" + traefik: + nodeSelector: {} + tolerations: + - key: "node-role.kubernetes.io/master" + effect: "NoSchedule" + hub: + allowNamedServers: true + networkPolicy: + # FIXME: For dask gateway + enabled: false + readinessProbe: + enabled: false + nodeSelector: {} + tolerations: + - key: "node-role.kubernetes.io/master" + effect: "NoSchedule" + dask-gateway: + traefik: + tolerations: + - key: "node-role.kubernetes.io/master" + effect: "NoSchedule" + controller: + tolerations: + - key: "node-role.kubernetes.io/master" + effect: "NoSchedule" + gateway: + tolerations: + - key: "node-role.kubernetes.io/master" + effect: "NoSchedule" + backend: + scheduler: + extraPodConfig: + nodeSelector: + hub.jupyter.org/pool-name: dask-worker + tolerations: + - key: "k8s.dask.org/dedicated" + operator: "Equal" + value: "worker" + effect: "NoSchedule" + - key: "k8s.dask.org_dedicated" + operator: "Equal" + value: "worker" + effect: "NoSchedule" + worker: + extraPodConfig: + nodeSelector: + hub.jupyter.org/pool-name: dask-worker + tolerations: + - key: "k8s.dask.org/dedicated" + operator: "Equal" + value: "worker" + effect: "NoSchedule" + - key: "k8s.dask.org_dedicated" + operator: "Equal" + value: "worker" + effect: "NoSchedule" + + # TODO: figure out a replacement for userLimits. + extraConfig: + optionHandler: | + from dask_gateway_server.options import Options, Integer, Float, String + def cluster_options(user): + def option_handler(options): + if ":" not in options.image: + raise ValueError("When specifying an image you must also provide a tag") + extra_annotations = { + "hub.jupyter.org/username": user.name, + "prometheus.io/scrape": "true", + "prometheus.io/port": "8787", + } + extra_labels = { + "hub.jupyter.org/username": user.name, + } + return { + "worker_cores_limit": options.worker_cores, + "worker_cores": min(options.worker_cores / 2, 1), + "worker_memory": "%fG" % options.worker_memory, + "image": options.image, + "scheduler_extra_pod_annotations": extra_annotations, + "worker_extra_pod_annotations": extra_annotations, + "scheduler_extra_pod_labels": extra_labels, + "worker_extra_pod_labels": extra_labels, + } + return Options( + Integer("worker_cores", 2, min=1, max=16, label="Worker Cores"), + Float("worker_memory", 4, min=1, max=32, label="Worker Memory (GiB)"), + String("image", default="pangeo/pangeo-notebook:latest", label="Image"), + handler=option_handler, + ) + c.Backend.cluster_options = cluster_options + idle: | + # timeout after 30 minutes of inactivity + c.KubeClusterConfig.idle_timeout = 1800 \ No newline at end of file diff --git a/hub-templates/base-hub/templates/nfs-share-creater.yaml b/hub-templates/base-hub/templates/nfs-share-creater.yaml index 0f3381673f..5f87474372 100644 --- a/hub-templates/base-hub/templates/nfs-share-creater.yaml +++ b/hub-templates/base-hub/templates/nfs-share-creater.yaml @@ -22,6 +22,8 @@ spec: spec: restartPolicy: Never terminationGracePeriodSeconds: 0 + tolerations: {{ .Values.nfsPVC.shareCreator.tolerations | toJson }} + containers: - name: dummy image: busybox diff --git a/secrets/farallon.yaml b/secrets/farallon.yaml new file mode 100644 index 0000000000..736d6c299b --- /dev/null +++ b/secrets/farallon.yaml @@ -0,0 +1,33 @@ +apiVersion: ENC[AES256_GCM,data:v78=,iv:jtNO2Px/wbm94DieLvsv88uEI5Smf5p4Us6NvSuzLKE=,tag:FaxNM/Z8AXoQQlrSYjJ0CA==,type:str] +clusters: + - cluster: + certificate-authority-data: ENC[AES256_GCM,data:GV7rhSD+g8HdZ/04a/sxS/afQj/MlG4ujy6+ejPj/IrMWFYsxrQi22+Uzj6+3Uvrdpb9XtfKGgeRFHCGysMetxjdg5vjDxnRZswkgbIx2b5bn376Dg2jZev2TheOwJa59H3nVSyj3JSvBiBrvXuNV3CWkTigqz4WtYKAd6bjJC9JPkLoZroHfh0U3gVw28JIgd5Mwu2RYnR6ivcd/2o/jaDbcIJHKZtxWLplBX34Oa1OVKj+fVTdG16gUCzgS00s06szSsuwxoT9IE5mBAuAC8gcBoP6r1wLbnu/QEErEMDXcW6ar72vwjDAUJcJQp1DPvhSB5QOR0sv0r/Xza1MskPRbKrKYEXV+xGCoU9MWk+98V+HK2ssqLx4NgMgYZeRW6hcI0FkpqBzItTfAuI2fpzHkEAfb7h91RnJVMAOwBmh88Wrb0IDWaWaqKcmaG5wEL3hL1ppwIVKQHebN1sEIjVrGK2iCNk4Cvt6YolZL2FiP1FzpeDRbSg+0c0enyriQjejLRWlym4e7+UeR9583kvGNHZzs7aotfqdDQfyjsBg4Mal4v8FGGpEqqkdp0T7CpgxWPOegqGkykewo8Q/M63w9vfL/OSLjSqIRaPBsRwpjjh8fMivNxJDfL5JcOTi7e9/iZBItIqBIMD6v3jfjp+ntm5kCYYJgPPDudYWn6/cheKnB0jGvb9Q02++a7ZaDpM/Lj1GQJp9C5j5paDzwYyHuaAJBMRnU5G9vNAsM6/hmW5OktacVA6FirTL2TaBGPia8PvGtHxP9E57DDPc6quVcGgoEdKGeHVszENfuuYqJjFWClddF8vqihdbWLiq/pER1ru7JN+jGOv61WYBTLF97zTc7g2GWLHEv4UQpSkciY0m2WG3et1U4XzXIQgbwPOUSe36KBmYgPpPceXrTuWRM5n58ax0085fGNpKb6QuX5dG2w8cKto5EgDkRnnfZ4ZLFfZkagmHbiByYGltC3RcmU3VrGXcTN6oNAAy6+Nz9O8ac3m6aht6PAMVoWIWBgsFLdvyMg/X28i38vtSST3c9LYQBgD83cGaRgK6XDZWNOTobYniRB0QftjF9eVUY45azC846KlnpKzgGKG173TS0mILhME2MFW9zmQc+7lZR/FSrYk7HD10/ForqNlmUzC0+arEOxVGIpgpH9FuYxHDoidhQp43/3bdXXkIDLwKFj8DmATEbRLmhjlHuivBYh+z21YH8jyI2kQ6RWca4O0JpKDwLK9DKRn2QjqHfqT5jO4D/78vbH/91faMF+wNhV70UGEbshlQkABUC0KHuZcRZQBXMTXJkWVrChttl4yhDmi8lrSMmd9ajZIjslkFujG9LNpyrPJLqSUczASU5hSnW5h8wpDjWW0Rigol6NV8Jok/CZArenJ4HM7FWw065uNPxnJnfDvLgnub+fWSah2ECF17AA/yprghl+R/rooItyGw7WOMaP5t5b3YqidTvhz7+WrYGSIN5J4IBbcTbUvToVu93IFNv90cPM3ZAP2D/DuFAaGA+u2uEocLkdyR63UmOCoF/osHjbdjdkwvrY/bf7BSj4gUUqps47rqyljy6ytidgZln2Qmr0px71+fT7hKxyZsRW2Clll4L/KAV8FzO3aXZ1he0kbXtSHvQzS9YJAKa2YKcYUnyAcQRKdm0TGqXfYvOVGhSgsQNiFDG5snUvSNAy6XBhd6+HClUA8+duZU8Ml6Q5r4s29mppM8poq6ELOnJmt8EjS8NihEmvmG90/gqC72A7Ptv2rK/aXlbW1Gmc0wQwdA8LXrvXhoHSpTcp8zmlAa2mRufjwxBLj9u1ghieNh1SmrPxOqn6dgFWqn97qGkbCZ3VPoKYFNlTwO2KiUaR0UzkkV8xm4AyokbXYsu+JVEff6IJ1KOykE9ct7rFyzpj7ECZBu9DqIPA8cyw==,iv:SNw9RjwYLSmMO/Nrz2+IA0GVAAcejoz2Af+9+IoDsWw=,tag:0r7OESoIKKvwCTSoJk/GRA==,type:str] + server: ENC[AES256_GCM,data:sjGOJaUEXNJkHxtYJO0f3PpQ5dv8PQ0lehOAnVNvAccRsytt5FFVrRj64v+BLMucAiEOX9oUcsHrikB9C5RbM4FkfvWMe5ULD4fQrYU1Dw==,iv:ONbXi6onE5d8abL5cxr6p3jJd4UW46Ut0CvWKQECLhE=,tag:O6f1X5mvaUdJB4ZnWRGHtA==,type:str] + name: ENC[AES256_GCM,data:T5Q6YzMy/6j42bGlmCYrCqcAUcJYL/c=,iv:TUceXHDNbq561n0944dt/NWf9IRFyJdwhhhlKPZ38Hs=,tag:3fqDqhwDAfhtvQNMJ/q62g==,type:str] +contexts: + - context: + cluster: ENC[AES256_GCM,data:ubveHqV2JHR3apEGcEVVtg4ym0jh+5Q=,iv:DD4OS5+TOwQyN6gevKQjsVrYT6CVK4/xN81n5QCO0Gg=,tag:btI/f20ZuL57Vcu3G8Ncpg==,type:str] + user: ENC[AES256_GCM,data:Kfy0Qnp9eZWH2cK0hEQAMtIFkrlqeq8=,iv:nXtiZUkmKaLLDsMfhl0aApxLsYGC9r+Sh0/yomD3nls=,tag:jVCFSQZHpCHEq/X+dcTT3A==,type:str] + name: ENC[AES256_GCM,data:h8XW7YdCVKOOyinoNY0Pb9UrApNjvW0=,iv:YOwJeUZfE2wyiKgIc1Kjj+b/C8PbNcpkzVK9bjASHKY=,tag:mcW7/QsKATFUEnl8bfni8A==,type:str] +current-context: ENC[AES256_GCM,data:6ldoUtzpD3xpKeIMZ7e85i1Ht9GTwmM=,iv:ci+9F7J+O+XGWw6VMK4PD6u1KEhwu1xLP4GE9F8t6oc=,tag:rUZyda5JRJwC9LzU316zzg==,type:str] +kind: ENC[AES256_GCM,data:RmpDLXcA,iv:2rnkdWK89mTzuM0sYhGO9rbyPNirwRF7czbpdb8V5yA=,tag:VE8KJRElU3sKs3R8qamTig==,type:str] +preferences: {} +users: + - name: ENC[AES256_GCM,data:JBthcd8lbiy1AiRen1ShGDzV6ZVfpyY=,iv:bdqVBy0NWQTEi3YbOqoxrmfmxejGzFXSGcNlsfwDYzc=,tag:Q67OWexlYZxE7L8lzEkVYQ==,type:str] + user: + client-certificate-data: ENC[AES256_GCM,data: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,iv:oXRJJkfCfp1V9s5VuFer3J0omWc+YqP4agPUnhcv3jQ=,tag:xqBBEZzE6SBjRupTt9iKVg==,type:str] + client-key-data: ENC[AES256_GCM,data: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,iv:LJG6fPYjjrO6kahxdaLB1vF89f8RA74nwp7THrcHGsk=,tag:q3CPDUMI9MRAptVeNzcMig==,type:str] +sops: + kms: [] + gcp_kms: + - resource_id: projects/two-eye-two-see/locations/global/keyRings/sops-keys/cryptoKeys/similar-hubs + created_at: "2021-05-03T18:24:30Z" + enc: CiQA4OM7eBvDdmSosNwoV1H4lGprhSnF6VzDyRaW6U1D9qi6XHQSSQBy9hCY8tILK+/MkhaLO9jCz3fDyhOiF1lxq+zw7GZF8USAZ1ihXFp29CLO69PQa5ejJqZffdWydRTJxuQ1Gd+pEHzC2KmCrGc= + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2021-05-03T18:24:31Z" + mac: ENC[AES256_GCM,data:lSuWapMSsXuAeeSCKHGRsVRXtmeUpCQVTTKDFYHfFADyWF+t8TgwNvRvIuicK69esHW8GnRb5saakKzmlZjwFJKZ+lU8ADXRIY38uRo/4OEvzKhi71lNHxSqZHG/RIPbFsuPoF+xNpqBmfoGmKhrJTxP7zs5hKz2zwZ5GuUdgec=,iv:yVgiI7pbLWPXl1++ZVhg31ASIZn7FgjU8NbouldqC5s=,tag:HsQXJX5JbLVuB10c4JzMiA==,type:str] + pgp: [] + unencrypted_suffix: _unencrypted + version: 3.7.1