Opening Additional Ports on a VM
How to open additional ports on your VM.
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.
![deploy-ports.png 1084](https://files.readme.io/380e7f8-deploy-ports.png)
This example maps port 1337 on the node to port 3000 on the VM.
Open ports with the API
curl --location --request POST "http://<orka-api-ip>/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 with 10.221.188.20, 10.221.188.100 or your custom domain.
Replace <VM_NAME>
, <TOKEN>
, and <NODE_PORT>
and <VM_PORT>
with the correct values.
Updated about 2 years ago