Skip to content

Instantly share code, notes, and snippets.

@ShevonKuan
Created September 3, 2021 09:56
Show Gist options
  • Select an option

  • Save ShevonKuan/6e143ed018bd9583de2132b1764d7835 to your computer and use it in GitHub Desktop.

Select an option

Save ShevonKuan/6e143ed018bd9583de2132b1764d7835 to your computer and use it in GitHub Desktop.

Revisions

  1. ShevonKuan created this gist Sep 3, 2021.
    94 changes: 94 additions & 0 deletions jupyterhub.yaml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,94 @@
    # This file can update the JupyterHub Helm chart's default configuration values.
    #
    # For reference see the configuration reference and default values, but make
    # sure to refer to the Helm chart version of interest to you!
    #
    # Introduction to YAML: https://www.youtube.com/watch?v=cdLNKUoMc6c
    # Chart config reference: https://zero-to-jupyterhub.readthedocs.io/en/stable/resources/reference.html
    # Chart default values: https://github.com/jupyterhub/zero-to-jupyterhub-k8s/blob/HEAD/jupyterhub/values.yaml
    # Available chart versions: https://jupyterhub.github.io/helm-chart/
    #
    singleuser:
    defaultUrl: "/lab"
    image:
    # You should replace the "latest" tag with a fixed version from:
    # https://hub.docker.com/r/jupyter/datascience-notebook/tags/
    # Inspect the Dockerfile at:
    # https://github.com/jupyter/docker-stacks/tree/HEAD/datascience-notebook/Dockerfile
    name: jupyter/base-notebook
    tag: latest
    profileList:
    - display_name: "Base notebook environment"
    description: "jupyter/base-notebook is a small image supporting the options common across all core stacks. It is the basis for all other stacks.Minimally-functional Jupyter Notebook server (e.g., no LaTeX support for saving notebooks as PDFs) Miniforge, conda, mamba, notebook, jupyterhub and jupyterlab packages. No preinstalled scientific computing packages."
    # Defines the default profile - only use for one profile
    default: true
    - display_name: "Minimal notebook environment"
    description: "jupyter/minimal-notebook adds command line tools useful when working in Jupyter applications. Added Tex Live, git, vi"
    # Configuration unique to this profile
    kubespawner_override:
    image: jupyter/minimal-notebook:latest
    - display_name: "Datascience notebook environment"
    description: "Includes popular packages from the scientific Python ecosystem.Everything in jupyter/minimal-notebook and its ancestor images. altair, beautifulsoup4, bokeh, bottleneck, cloudpickle, conda-forge::blas=*=openblas, cython, dask, dill, h5py, matplotlib-base, numba, numexpr, pandas, patsy, protobuf, pytables, scikit-image, scikit-learn, scipy, seaborn, sqlalchemy, statsmodel, sympy, widgetsnbextension, xlrd packages, ipympl and ipywidgets for interactive visualizations and plots in Python notebooks, Facets for visualizing machine learning datasets."
    # Configuration unique to this profile
    kubespawner_override:
    image: jupyter/scipy-notebook:latest
    - display_name: "Tensorflow notebook environment"
    description: "Everything in jupyter/scipy-notebook and its ancestor images, tensorflow machine learning library"
    # Configuration unique to this profile
    kubespawner_override:
    image: jupyter/tensorflow-notebook:latest
    - display_name: "Shevon datascience learning notebook environment"
    description: "Everything in jupyter/scipy-notebook. Added tensorflow, keras and pytorch"
    # Configuration unique to this profile
    kubespawner_override:
    image: shevonkuan/machinelearnling-notebook:latest
    storage:
    capacity: 4Gi
    memory:
    limit: 8G
    guarantee: 512M
    cpu:
    limit: 4
    guarantee: 0.5
    extraFiles:
    # jupyter_notebook_config reference: https://jupyter-notebook.readthedocs.io/en/stable/config.html
    jupyter_notebook_config.json:
    mountPath: /etc/jupyter/jupyter_notebook_config.json
    # data is a YAML structure here but will be rendered to JSON file as our
    # file extension is ".json".
    data:
    MappingKernelManager:
    # cull_idle_timeout: timeout (in seconds) after which an idle kernel is
    # considered ready to be culled
    cull_idle_timeout: 1200 # default: 0

    # cull_interval: the interval (in seconds) on which to check for idle
    # kernels exceeding the cull timeout value
    cull_interval: 120 # default: 300

    # cull_connected: whether to consider culling kernels which have one
    # or more connections
    cull_connected: true # default: false

    # cull_busy: whether to consider culling kernels which are currently
    # busy running some code
    cull_busy: false # default: false
    hub:
    config:
    GitHubOAuthenticator:
    client_id: f96d2f******c02390d11
    client_secret: 91f58d81***********************622e6d5f91
    oauth_callback_url: https://jupyter.shevonpeng.cn/hub/oauth_callback
    JupyterHub:
    authenticator_class: github
    scheduling:
    userScheduler:
    image:
    name: registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler
    userPlaceholder:
    image:
    name: registry.cn-hangzhou.aliyuncs.com/google_containers/pause
    prePuller:
    pause:
    image:
    name: registry.cn-hangzhou.aliyuncs.com/google_containers/pause