Skip to content

Commit

Permalink
Merge pull request #697 from TomAugspurger/daskhub
Browse files Browse the repository at this point in the history
Use dask/daskhub helm chart
  • Loading branch information
TomAugspurger authored Aug 31, 2020
2 parents 2260a1e + fdf93b7 commit 941e17b
Show file tree
Hide file tree
Showing 16 changed files with 34 additions and 93 deletions.
44 changes: 23 additions & 21 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,12 +128,14 @@ jobs:
git crypt unlock ~/repo/default.key
rm ~/repo/default.key
- run:
name: Unlock ooi secrets
command: |
echo "${OOI_GIT_CRYPT_KEY}" | base64 -d > ~/repo/ooi.key
git crypt unlock ~/repo/ooi.key
rm ~/repo/ooi.key
# OOI is temporarily disabled with the move to daskhub.
# https://github.com/pangeo-data/pangeo-cloud-federation/issues/704
# - run:
# name: Unlock ooi secrets
# command: |
# echo "${OOI_GIT_CRYPT_KEY}" | base64 -d > ~/repo/ooi.key
# git crypt unlock ~/repo/ooi.key
# rm ~/repo/ooi.key

- run:
name: Build gcp-uscentral1b.pangeo.io image if needed
Expand All @@ -150,14 +152,14 @@ jobs:
environment:
PYTHONIOENCODING: utf-8

- run:
name: Build ooi.pangeo.io image if needed
when: always
no_output_timeout: 1200
command: |
hubploy build ooi --check-registry --push
environment:
PYTHONIOENCODING: utf-8
# - run:
# name: Build ooi.pangeo.io image if needed
# when: always
# no_output_timeout: 1200
# command: |
# hubploy build ooi --check-registry --push
# environment:
# PYTHONIOENCODING: utf-8


- run:
Expand All @@ -168,7 +170,7 @@ jobs:
tar -xzf -
sudo mv linux-amd64/helm /usr/local/bin
helm version
helm repo add pangeo https://pangeo-data.github.io/helm-chart/
helm repo add dask https://helm.dask.org/
helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
helm repo add dask-gateway https://dask.org/dask-gateway-helm-repo/
helm repo add stable https://kubernetes-charts.storage.googleapis.com
Expand Down Expand Up @@ -206,12 +208,12 @@ jobs:
AWS_SHARED_CREDENTIALS_FILE=./deployments/icesat2/secrets/aws-config.txt
aws eks update-cluster-config --region us-west-2 --name pangeo --resources-vpc-config publicAccessCidrs=${AWS_IP_WHITELIST} > /dev/null
- run:
name: Deploy ooi.pangeo.io
when: always
no_output_timeout: 1200
command: |
hubploy deploy ooi pangeo-deploy ${CIRCLE_BRANCH} --timeout 1200s --cleanup-on-fail
# - run:
# name: Deploy ooi.pangeo.io
# when: always
# no_output_timeout: 1200
# command: |
# hubploy deploy ooi pangeo-deploy ${CIRCLE_BRANCH} --timeout 1200s --cleanup-on-fail


workflows:
Expand Down
2 changes: 1 addition & 1 deletion deployments/gcp-uscentral1b/config/common.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pangeo:
daskhub:
jupyterhub:
scheduling:
corePods:
Expand Down
13 changes: 1 addition & 12 deletions deployments/gcp-uscentral1b/config/prod.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pangeo:
daskhub:
jupyterhub:
proxy:
https:
Expand All @@ -9,16 +9,5 @@ pangeo:
service:
loadBalancerIP: 35.238.103.127
hub:
services:
dask-gateway:
# This makes the gateway available at ${HUB_URL}/services/dask-gateway
url: "http://traefik-gcp-uscentral1b-prod-dask-gateway.prod"
extraEnv:
OAUTH_CALLBACK_URL: "https://us-central1-b.gcp.pangeo.io/hub/oauth_callback"


singleuser:
extraEnv:
# TODO: DNS
DASK_GATEWAY__ADDRESS: "https://us-central1-b.gcp.pangeo.io/services/dask-gateway/"
DASK_GATEWAY__PROXY_ADDRESS: "gateway://traefik-gcp-uscentral1b-prod-dask-gateway.prod:80"
12 changes: 1 addition & 11 deletions deployments/gcp-uscentral1b/config/staging.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pangeo:
daskhub:
jupyterhub:
proxy:
https:
Expand All @@ -16,19 +16,9 @@ pangeo:
limits:
cpu: "0.1"
memory: 0.25Gi
services:
dask-gateway:
# This makes the gateway available at ${HUB_URL}/services/dask-gateway
url: "http://traefik-gcp-uscentral1b-staging-dask-gateway.staging"

scheduling:
userScheduler:
enabled: false
singleuser:
extraEnv:
# TODO: DNS
DASK_GATEWAY__ADDRESS: "https://staging.us-central1-b.gcp.pangeo.io/services/dask-gateway/"
DASK_GATEWAY__PROXY_ADDRESS: "gateway://traefik-gcp-uscentral1b-staging-dask-gateway.staging:80"

metrics:
enabled: true
Expand Down
Binary file modified deployments/gcp-uscentral1b/secrets/prod.yaml
Binary file not shown.
Binary file modified deployments/gcp-uscentral1b/secrets/staging.yaml
Binary file not shown.
2 changes: 1 addition & 1 deletion deployments/icesat2/config/common.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pangeo:
daskhub:
jupyterhub:
scheduling:
userPods:
Expand Down
9 changes: 1 addition & 8 deletions deployments/icesat2/config/prod.yaml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
# Leave commented for first build, then uncomment and add loadBalancerIP
pangeo:
daskhub:
jupyterhub:
hub:
services:
dask-gateway:
# This makes the gateway available at ${HUB_URL}/services/dask-gateway
url: "http://traefik-icesat2-prod-dask-gateway.icesat2-prod"
extraEnv:
OAUTH_CALLBACK_URL: "https://aws-uswest2.pangeo.io/hub/oauth_callback"
singleuser:
Expand All @@ -31,9 +27,6 @@ pangeo:
description: "https://github.com/ICESAT-2HackWeek/jupyter-image-2020"
kubespawner_override:
image: uwhackweeks/icesat2:latest
extraEnv:
DASK_GATEWAY__ADDRESS: "https://aws-uswest2.pangeo.io/services/dask-gateway"
DASK_GATEWAY__PROXY_ADDRESS: "gateway://traefik-icesat2-prod-dask-gateway.icesat2-prod:80"
proxy:
https:
hosts:
Expand Down
7 changes: 0 additions & 7 deletions deployments/icesat2/config/staging.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ pangeo:
limits:
cpu: 0.5
memory: 1G
services:
dask-gateway:
# This makes the gateway available at ${HUB_URL}/services/dask-gateway
url: "http://traefik-icesat2-staging-dask-gateway.icesat2-staging"
extraEnv:
OAUTH_CALLBACK_URL: "https://staging.aws-uswest2.pangeo.io/hub/oauth_callback"
singleuser:
Expand Down Expand Up @@ -43,9 +39,6 @@ pangeo:
description: "https://github.com/ICESAT-2HackWeek/jupyter-image-2020"
kubespawner_override:
image: uwhackweeks/icesat2:latest
extraEnv:
DASK_GATEWAY__ADDRESS: "https://staging.aws-uswest2.pangeo.io/services/dask-gateway"
DASK_GATEWAY__PROXY_ADDRESS: "gateway://traefik-icesat2-staging-dask-gateway.icesat2-staging:80"
proxy:
https:
hosts:
Expand Down
Binary file modified deployments/icesat2/secrets/prod.yaml
Binary file not shown.
Binary file modified deployments/icesat2/secrets/staging.yaml
Binary file not shown.
10 changes: 0 additions & 10 deletions deployments/ooi/config/prod.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
pangeo:
jupyterhub:
hub:
services:
dask-gateway:
# This makes the gateway available at ${HUB_URL}/services/dask-gateway
url: "http://traefik-ooi-prod-dask-gateway.ooi-prod"
scheduling:
userPlaceholder:
enabled: true
Expand All @@ -26,8 +21,3 @@ pangeo:
service:
annotations: {'service.beta.kubernetes.io/azure-load-balancer-resource-group': 'ooi-pangeo'}
loadBalancerIP: 23.96.23.164
singleuser:
extraEnv:
# TODO: DNS
DASK_GATEWAY__ADDRESS: "https://ooi.pangeo.io/services/dask-gateway/"
DASK_GATEWAY__PROXY_ADDRESS: "gateway://traefik-ooi-prod-dask-gateway.ooi-prod:80"
10 changes: 0 additions & 10 deletions deployments/ooi/config/staging.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
pangeo:
jupyterhub:
hub:
services:
dask-gateway:
# This makes the gateway available at ${HUB_URL}/services/dask-gateway
url: "http://traefik-ooi-staging-dask-gateway.ooi-staging"
scheduling:
userPlaceholder:
enabled: false
Expand All @@ -18,8 +13,3 @@ pangeo:
service:
annotations: {'service.beta.kubernetes.io/azure-load-balancer-resource-group': 'ooi-pangeo'}
loadBalancerIP: 13.92.63.24
singleuser:
extraEnv:
# TODO: DNS
DASK_GATEWAY__ADDRESS: "https://staging.ooi.pangeo.io/services/dask-gateway/"
DASK_GATEWAY__PROXY_ADDRESS: "gateway://traefik-ooi-staging-dask-gateway.ooi-staging:80"
Binary file modified deployments/ooi/secrets/staging.yaml
Binary file not shown.
6 changes: 3 additions & 3 deletions pangeo-deploy/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ description: A Helm chart for Kubernetes
name: pangeo-deploy
version: 0.1.0
dependencies:
- name: pangeo
version: "v0.2.2-n063.h716913e"
repository: https://pangeo-data.github.io/helm-chart/
- name: daskhub
version: "4.4.2"
repository: https://helm.dask.org
import-values:
- child: rbac
parent: rbac
Expand Down
12 changes: 3 additions & 9 deletions pangeo-deploy/values.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pangeo:
daskhub:
# Pangeo configuration values
# --------------------
# The following configuration options are specifically for the custom Pangeo components.
Expand All @@ -8,7 +8,6 @@ pangeo:
rbac:
enabled: true


# Dependency configuration values
# -------------------------------
# To configure dependencies you must create a key with the name of the dependency
Expand All @@ -17,7 +16,6 @@ pangeo:
jupyterhub:
# Helm config for jupyterhub goes here
# See https://github.com/jupyterhub/zero-to-jupyterhub-k8s/blob/master/jupyterhub/values.yaml

singleuser:
cpu:
limit: 2
Expand All @@ -29,7 +27,6 @@ pangeo:
extraEnv:
# The default worker image matches the singleuser image.
DASK_GATEWAY__CLUSTER__OPTIONS__IMAGE: '{JUPYTER_IMAGE_SPEC}'
DASK_GATEWAY__AUTH__TYPE: 'jupyterhub'
serviceAccountName: pangeo

prePuller:
Expand All @@ -43,6 +40,7 @@ pangeo:
enabled: true
userPlaceholder:
enabled: false

dask-gateway:
gateway:
backend:
Expand All @@ -60,11 +58,7 @@ pangeo:
securityContext:
fsGroup: 1000

# TODO: figure out a replacement
# userLimts: |
# c.UserLimits.max_cores = 100
# c.UserLimits.max_memory = "400 G"
# c.UserLimits.max_clusters = 1
# TODO: figure out a replacement for userLimits.
extraConfig:
optionHandler: |
from dask_gateway_server.options import Options, Integer, Float, String
Expand Down

0 comments on commit 941e17b

Please sign in to comment.