API
K8sClusterManagers.K8sClusterManager
— TypeK8sClusterManager(np::Integer; kwargs...)
A cluster manager using Kubernetes (k8s) which spawns additional pods as workers. Attempts to spawn np
workers but may launch with less workers if the cluster has less resources available.
Arguments
np
: Desired number of worker pods to be launched.
Keywords
namespace
: the Kubernetes namespace to launch worker pods within. Defaults tocurrent_namespace()
.manager_pod_name
: the name of the manager pod. Defaults togethostname()
which is the name of the pod when executed inside of a Kubernetes pod.worker_prefix
: the prefix given to spawned workers. Defaults to"$(manager_pod_name)-worker"
when the manager is running inside of K8s otherwise defaults to"fv-az550-586-worker
.image
: Docker image to use for the workers. Defaults to the image used by the manager when running inside of a K8s pod otherwise defaults to "julia:VERSION".cpu
: CPU resources requested for each worker. Defaults to1
,memory
: Memory resource requested for each worker in bytes. Requests may provide a unit suffix (e.g. "G" for Gigabytes and "Gi" for Gibibytes). Defaults to"4Gi"
.pending_timeout
: The maximum number of seconds to wait for a "Pending" worker pod to enter the "Running" phase. Once the timeout has been reached the manager will continue with the number of workers available (<= np
). Defaults to180
(3 minutes).configure
: A function which allows modification of the worker pod specification before their creation. Defaults toidentity
.
K8sClusterManagers.isk8s
— Functionisk8s() -> Bool
Predicate for testing if the current process is running within a Kubernetes (K8s) pod.