Git Product home page Git Product logo

gateway_provisioners's Introduction

Gateway Provisioners

Build Status Documentation Status

Gateway Provisioners provides kernel provisioners that interact with kernels launched into resource-managed clusters or otherwise run remotely from the launching server. This functionality derives from Jupyter Enterprise Gateway's process proxy architecture. However, unlike process proxies, you do not need to use a gateway server to use these provisioners - although, in certain cases, it is recommended (for example when the launching server does not reside within the same network as the launched kernel).

Here is the current set of provisioners provided by this package, many of which have their requirements conditionally installed:

  • KubernetesProvisioner - Kernels (residing in images) are launched as pods within a Kubernetes cluster
    • pip install gateway_provisioners[k8s]
  • DockerSwarmProvisioner - Kernels (residing in images) are launched as containers within a DockerSwarm cluster
  • DockerProvisioner - Kernels (residing in images) are launched as containers on the local server
    • pip install gateway_provisioners[docker]
  • YarnProvisioner - Kernels are launched into a Hadoop YARN cluster (primarily Spark)
    • pip install gateway_provisioners[yarn]
  • DistributedProvisioner - Kernels are launched across a set of hosts using SSH, round-robin
    • pip install gateway_provisioners

This package also includes command-line utilities that can be used to create kernel specifications or inject bootstrap files into docker images relative to the desired provisioner:

  • jupyter-k8s-spec - for building kernel specifications relative to the KubernetesProvisioner
  • jupyter-docker-spec - for building kernel specifications relative to DockerProvisioner and DockerSwarmProvisioner
  • jupyter-yarn-spec - for building kernel specifications relative to the YarnProvisioner
  • jupyter-ssh-spec - for building kernel specifications relative to the DistributedProvisioner
  • jupyter-image-bootstrap - for injecting bootstrap support when building kernel-based images

Note: The container-based provisioners (KubernetesProvisioner, DockerSwarmProvisioner, and DockerProvisioner) require that the hosting server also be running within the same environment/network. As a result, these provisioners may be better suited for use by a Gateway Server (e.g., Jupyter Kernel Gateway) so as to not require the Notebook/Lab server also be deployed in a container.


Installation

Detailed deployment instructions are located in the Operators Guide of the project docs. Here's a quick start using pip:

# install from pypi
pip install --upgrade gateway-provisioners

# options for the command-line utilities can be viewed using '--help-all'
jupyter yarn-spec install --help-all

# run it with default options to install a Python-based kernelspec for Hadoop Yarn
jupyter yarn-spec install

Contributing

The Contribution page includes information about how to contribute to Gateway Provisioners. We encourage you to explore the other topics in our Contributors Guide like how to set up a development environment, or gaining an understanding of the system architecture, among other things.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.