Instance ParametersΒΆ
Instance parameters are part of the configuration file, but for each provider they are different. Here you can find parameters for a GCP instance:
containerName
(optional) - a name of the container from thecontainers
section. Default value:default
.zone
- GCP zone where to run an instance.machineType
- a type of the instance to run. You can find a list of predefined machine types here: Machine Types. If you in doubt what to use, just go forn1-standard-1
. To attach GPUs to the selected machine type, use thegpu
parameter (see the details below).gpu
(optional) - a dictionary with keystype
andcount
:type
- a type of GPU to attach to the instance. Read more about GPUs and their availabily in different zones here: GPUs on Compute Engine.count
(optional) - a number of GPUs that should be attached to the instance. The default value is 1. See here a number of GPUs that you can attach to different machine types: Valid numbers of GPUs for each machine type.
preemptibleInstance
(optional) - if set totrue
, runs a preemptible instance instead of an on-demand instance. Note: be aware that GCP terminates preemptible instances in 24 hours. Read more about Preemptible VMs here.imageName
(optional) - a name of the image with NVIDIA Docker in the current GCP project. You can use thespotty gcp create-image
command to create it. By default, the command will create an image with the name "spotty". This image will be used to run your application inside the Docker container. If you didn't create your own image, see the behaviour of theimageUrl
parameter.imageUrl
(optional) - a URL of the image with NVIDIA Docker. You can use this parameter to work with an image from another GCP project. If this parameter is not specified and you didn't create your own image (see theimageName
parameter), Spotty will be using theprojects/spotty-cloud/global/images/family/spotty
image provided by the Spotty project.bootDiskSize
(optional) - size of the root volume in GB. The root volume will be destroyed once the instance is terminated. Use attached volumes to store the data that you need to keep (see thevolumes
parameter below).dockerDataRoot
(optional) - directory where Docker will store all downloaded and built images. Read more: Caching Docker Image on a Disk.volumes
(optional) - the list of volumes to attach to the instance:name
- a name of the volume. This name should match one of the container'svolumeMounts
to have this volume attached to the container's filesystem.parameters
(optional) - parameters of the volume:size
(optional) - size of the disk in GB. Size of the disk cannot be less than the size of the existing snapshot but can be increased.deletionPolicy
(optional) - what to do with the disk once the instance is terminated using thespotty stop
command. Possible values include: "Retain" (value by default), "CreateSnapshot", "UpdateSnapshot" and "Delete". Read more: Disks and Deletion Policies.(!) Note: Deletion Policies are not implemented yet, so created disks will always retain.
diskName
(optional) - name of the disk. The default name is "{project_name}-{instance_name}-{volume_name}".mountDir
(optional) - directory where the disk will be mounted on the instance. The default directory is "/mnt/{disk_name}".
ports
(optional) - list of ports to open on the instance. For example:ports: [6006, 8888]
It will open ports 6006 for TensorBoard and 8888 for Jupyter Notebook.
localSshPort
(optional) - if this parameter is set, all the Spotty commands will create SSH connections with the instance using the IP address 127.0.0.1 and the specified port. This can be useful in case when an instance doesn't have a public IP address and a jump-server is used for tunneling.commands
(optional) - commands that should be run on the host OS before the container is started.