Opening Additional Ports on a VM
How to open additional ports on your VM.
Intel Nodes Only
This guide is applicable to VMs deployed on Intel nodes only. Read more about Apple ARM-based Support (Beta) to see which commands and options are supported for VMs deployed on Apple ARM-based nodes.
By default, when you deploy a VM, Orka assigns an SSH, a VNC, and a ScreenShare port to it. You can open additional ports during deployment.
To open a port, you need to map a free port from the node that hosts the VM to a free port on the VM. The port on the node will listen for requests and then forward them to the respective port on the respective VM.
Quick command/API summary
orka vm deploy --ports
POST /resources/vm/deploy/
Definitions
- VM port: The port to open on the virtual machine. Also: guest port.
- Node port: The port to open on the node that hosts the virtual machine. Also: host port.
Limitations
- You can use a node port only once.
- You can open only TCP ports.
- You cannot create port mappings with the following ports and port ranges:
- 22 (reserved for SSH)
- 80 (reserved for operational purposes)
- 443 (reserved for operational purposes)
- 5000-5014 (reserved for Apple Screen Sharing)
- 5999-6013 (reserved for VNC)
- 6443 (reserved for operational purposes)
- 8822-8836 (reserved for SSH)
Open ports in the CLI
orka vm deploy -v <NAME> --ports <NODE_PORT>:<VM_PORT>
OR
orka vm deploy -v <NAME> --ports <NODE_PORT>:<VM_PORT> -y
Replace <VM NAME>
with the name of the VM configuration that you want to deploy.

This example maps port 1337 on the node to port 3000 on the VM.
Open ports with the API
curl --location --request POST "http://10.221.188.100/resources/vm/deploy/" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <TOKEN>" \
--data "{
\"orka_vm_name\": \"<VM_NAME>\",
\"reserved_ports\": [ \"<NODE_PORT>:<VM_PORT>\"]
}"
Replace <VM_NAME>
, <TOKEN>
, and <NODE_PORT>
and <VM_PORT>
with the correct values.
Updated over 1 year ago