Manage Pods
Learn how to create, start, stop, and terminate Pods using the web interface and the command-line interface (CLI).
Before you begin
If you want to manage Pods using the RunPod CLI, you'll need to install runpodctl
, and set your API key in the configuration.
Run the following command, replacing $RUNPOD_API_KEY
with your API key:
runpodctl config --apiKey $RUNPOD_API_KEY
Create a Pod
- Web
- Command line
To create a Pod using the web interface:
- Open the Pods page in the RunPod console and click the Deploy button.
- (Optional) Specify a Network Volume if you need to share data between multiple Pods, or to save data for later use.
- Select GPU or CPU using the buttons in the top-left corner of the window, and follow the configuration steps below.
GPU configuration:
- Select a graphics card (e.g., A40, RTX 4090, H100 SXM).
- Give your Pod a name using the Pod Name field.
- (Optional) Choose a Pod Template such as RunPod Pytorch 2.1 or RunPod Stable Diffusion.
- Specify your GPU count if you need multiple GPUs.
- Click Deploy On-Demand to deploy and start your Pod.
CPU configuration:
- Select a CPU type (e.g., CPU3/CPU5, Compute Optimized, General Purpose, Memory-Optimized).
- Specify the number of CPUs and quantity of RAM for your Pod by selecting an Instance Configuration.
- Give your Pod a name using the Pod Name field.
- Click Deploy On-Demand to deploy and start your Pod.
To create a Pod using the CLI, use the runpodctl create pods
command:
runpodctl create pods \
--name hello-world \
--gpuType "NVIDIA A40" \
--imageName "runpod/pytorch:3.10-2.0.0-117" \
--containerDiskSize 10 \
--volumeSize 100 \
--args "bash -c 'mkdir /testdir1 && /start.sh'"
Custom templates
RunPod supports custom Pod templates that let you define your environment using a Dockerfile.
With custom templates, you can:
- Install specific dependencies and packages.
- Configure your development environment.
- Create portable Docker images that work consistently across deployments.
- Share environments with team members for collaborative work.
Stop a Pod
You will be charged for idle Pods even if they are stopped. If you don't need to retain your Pod environment, you should terminate it completely.
- Web
- Command line
- Open the Pods page.
- Find the Pod you want to stop and expand it.
- Click the Stop button (square icon).
- Confirm by clicking the Stop Pod button.
To stop a Pod, enter the following command.
runpodctl stop pod $RUNPOD_POD_ID
Stop a Pod after a period of time
You can also stop a Pod after a specified period of time. The examples below show how to use the CLI and the web terminal to schedule a Pod to stop after 2 hours of runtime.
- Command line
- Web terminal
Use the following command to stop a Pod after 2 hours:
sleep 2h; runpodctl stop pod $RUNPOD_POD_ID &
This command uses sleep to wait for 2 hours before executing the runpodctl stop pod
command to stop the Pod.
The &
at the end runs the command in the background, allowing you to continue using the SSH session.
To stop a Pod after 2 hours using the web terminal, enter:
nohup bash -c "sleep 2h; runpodctl stop pod $RUNPOD_POD_ID" &
nohup
ensures the process continues running if you close the web terminal window.
Start a Pod
Pods start as soon as they are created, but you can resume a Pod that has been stopped.
- Web
- Command line
- Open the Pods page.
- Find the Pod you want to start and expand it.
- Click the Start button (play icon).
To start a single Pod, enter the command runpodctl start pod
. You can pass the environment variable RUNPOD_POD_ID
to identify each Pod.
runpodctl start pod $RUNPOD_POD_ID
Terminate a Pod
Terminating a Pod permanently deletes all data outside your network volume. Be sure you've saved any data you want to access again.
- Web
- Command line
- Open the Pods page.
- Find the Pod you want to terminate and expand it.
- Stop the Pod if it's running.
- Click the Terminate button (trash icon).
- Confirm by clicking the Yes button.
To remove a single Pod, enter the following command.
runpodctl remove pod $RUNPOD_POD_ID
You can also remove Pods in bulk. For example, the following command terminates up to 40 Pods with the name my-bulk-task
.
runpodctl remove pods my-bulk-task --podCount 40
List Pods
You can find a list of all your Pods on the Pods page of the web interface.
If you're using the CLI, use the following command to list your Pods:
runpodctl get pod