Configuration options#
Because Gateway Provisioners leverage the traitlets
package,
configurable options can be defined
within the Jupyter-based application’s configuration file - since it too will leverage traitlets
.
For example, if Jupyter Server is the application hosting the Gateway Provisioners,
the configurable attributes would be defined within jupyter_server_config.py
.
Here’s an example configuration entry that could be used to set the DistributedProvisioner
’s
remote_hosts
value. Note that its default value, when defined, is also displayed, along with
the corresponding environment variable name:
## Bracketed comma-separated list of hosts on which DistributedProvisioner
# kernels will be launched e.g., ['host1','host2'].
# (GP_REMOTE_HOSTS env var - non-bracketed, just comma-separated)
# Default: ['localhost']
c.DistributedProvisioner.remote_hosts = ["localhost"]
Provisioner-specific Configuration Options#
A complete set of configuration options available for each Gateway Provisioner follows. Where applicable, the configurable option’s default value is also provided.
KubernetesProvisioner
#
# ------------------------------------------------------------------------------
# KubernetesProvisioner(ContainerProvisionerBase) configuration
# ------------------------------------------------------------------------------
## Kernel lifecycle management for Kubernetes kernels.
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.authorized_users
# c.KubernetesProvisioner.authorized_users = set()
## The image name to use as the Spark executor image when launching
# See also: ContainerProvisionerBase.executor_image_name
# c.KubernetesProvisioner.executor_image_name = None
## The image name to use when launching container-based kernels.
# See also: ContainerProvisionerBase.image_name
# c.KubernetesProvisioner.image_name = None
## Number of ports to try if the specified port is not available
# See also: RemoteProvisionerConfigMixin.launch_timeout
# c.KubernetesProvisioner.launch_timeout = 30
## Specifies the lower and upper port numbers from which ports are created.
# See also: RemoteProvisionerConfigMixin.port_range
# c.KubernetesProvisioner.port_range = '0..0'
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.unauthorized_users
# c.KubernetesProvisioner.unauthorized_users = {'root'}
DockerSwarmProvisioner
#
# ------------------------------------------------------------------------------
# DockerSwarmProvisioner(ContainerProvisionerBase) configuration
# ------------------------------------------------------------------------------
## Kernel provisioner for kernels in Docker Swarm.
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.authorized_users
# c.DockerSwarmProvisioner.authorized_users = set()
## The image name to use as the Spark executor image when launching
# See also: ContainerProvisionerBase.executor_image_name
# c.DockerSwarmProvisioner.executor_image_name = None
## The image name to use when launching container-based kernels.
# See also: ContainerProvisionerBase.image_name
# c.DockerSwarmProvisioner.image_name = None
## Number of ports to try if the specified port is not available
# See also: RemoteProvisionerConfigMixin.launch_timeout
# c.DockerSwarmProvisioner.launch_timeout = 30
## Specifies the lower and upper port numbers from which ports are created.
# See also: RemoteProvisionerConfigMixin.port_range
# c.DockerSwarmProvisioner.port_range = '0..0'
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.unauthorized_users
# c.DockerSwarmProvisioner.unauthorized_users = {'root'}
DockerProvisioner
#
# ------------------------------------------------------------------------------
# DockerProvisioner(ContainerProvisionerBase) configuration
# ------------------------------------------------------------------------------
## Kernel provisioner for kernels in Docker (non-Swarm).
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.authorized_users
# c.DockerProvisioner.authorized_users = set()
## The image name to use as the Spark executor image when launching
# See also: ContainerProvisionerBase.executor_image_name
# c.DockerProvisioner.executor_image_name = None
## The image name to use when launching container-based kernels.
# See also: ContainerProvisionerBase.image_name
# c.DockerProvisioner.image_name = None
## Number of ports to try if the specified port is not available
# See also: RemoteProvisionerConfigMixin.launch_timeout
# c.DockerProvisioner.launch_timeout = 30
## Specifies the lower and upper port numbers from which ports are created.
# See also: RemoteProvisionerConfigMixin.port_range
# c.DockerProvisioner.port_range = '0..0'
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.unauthorized_users
# c.DockerProvisioner.unauthorized_users = {'root'}
DistributedProvisioner
#
# ------------------------------------------------------------------------------
# DistributedProvisioner(RemoteProvisionerBase) configuration
# ------------------------------------------------------------------------------
## Kernel lifecycle management for clusters via ssh and a set of hosts.
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.authorized_users
# c.DistributedProvisioner.authorized_users = set()
## Number of ports to try if the specified port is not available
# See also: RemoteProvisionerConfigMixin.launch_timeout
# c.DistributedProvisioner.launch_timeout = 30
## Specifies which load balancing algorithm DistributedProvisioner should use.
# Must be one of "round-robin" or "least-connection".
# (GP_LOAD_BALANCING_ALGORITHM env var)
# Default: 'round-robin'
# c.DistributedProvisioner.load_balancing_algorithm = 'round-robin'
## Specifies the lower and upper port numbers from which ports are created.
# See also: RemoteProvisionerConfigMixin.port_range
# c.DistributedProvisioner.port_range = '0..0'
## List of host names on which this kernel can be launched. Multiple entries
# must each be specified via separate options: --remote-hosts host1 --remote-
# hosts host2
# Default: ['localhost']
# c.DistributedProvisioner.remote_hosts = ['localhost']
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.unauthorized_users
# c.DistributedProvisioner.unauthorized_users = {'root'}
YarnProvisioner
#
# ------------------------------------------------------------------------------
# YarnProvisioner(RemoteProvisionerBase) configuration
# ------------------------------------------------------------------------------
## Kernel lifecycle management for YARN clusters.
## The http url specifying the alternate YARN Resource Manager. This value
# should be set when YARN Resource Managers are configured for high
# availability. Note: If both YARN endpoints are NOT set, the YARN library will
# use the files within the local HADOOP_CONFIG_DIR to determine the active
# resource manager. (GP_ALT_YARN_ENDPOINT env var)
# Default: None
# c.YarnProvisioner.alt_yarn_endpoint = None
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.authorized_users
# c.YarnProvisioner.authorized_users = set()
## Indicates whether impersonation will be performed during kernel launch.
# (GP_IMPERSONATION_ENABLED env var)
# Default: False
# c.YarnProvisioner.impersonation_enabled = False
## Number of ports to try if the specified port is not available
# See also: RemoteProvisionerConfigMixin.launch_timeout
# c.YarnProvisioner.launch_timeout = 30
## Specifies the lower and upper port numbers from which ports are created.
# See also: RemoteProvisionerConfigMixin.port_range
# c.YarnProvisioner.port_range = '0..0'
## List of user names against which KERNEL_USERNAME will be compared.
# See also: RemoteProvisionerConfigMixin.unauthorized_users
# c.YarnProvisioner.unauthorized_users = {'root'}
## The http url specifying the YARN Resource Manager. Note: If this value is NOT
# set, the YARN library will use the files within the local HADOOP_CONFIG_DIR to
# determine the active resource manager. (GP_YARN_ENDPOINT env var)
# Default: None
# c.YarnProvisioner.yarn_endpoint = None
## Is YARN Kerberos/SPNEGO Security enabled (True/False).
# (GP_YARN_ENDPOINT_SECURITY_ENABLED env var)
# Default: False
# c.YarnProvisioner.yarn_endpoint_security_enabled = False