Deploying Ubuntu
Follow the steps below to easily set up a n1.2c virtual machine (VM) with the Ubuntu image using the exc CLI.
User-friendly console
Incase you don’t want to use the CLI you can use the https://console.excloud.dev
Prerequisites
Log In to
exc- Ensure that you are logged in to the
excCLI. If you haven’t logged in yet, please refer to the Login and Registration Guide to complete the login process.
- Ensure that you are logged in to the
Verify Login Status
- To verify if you are logged in, run the following command:
exc compute list - If you receive a
401 Unauthorizederror, please log in again.
- To verify if you are logged in, run the following command:
SSH key
- To verify if you have a key associated:
exc compute key list- If there are no keys create a new key using this guide and come back.
Create a Security Group with Rules
Create a Security Group
exc securitygroup create --name ubuntu-security-group --description "Ubuntu ingress and egress"Create Ingress Rules to Allow SSH Traffic
exc securitygroup rule ingress create --cidr 0.0.0.0/0 --protocol TCPv4 --port_range 22 --security_group_id $(exc securitygroup list | awk '/ubuntu-security-group/{print $1}') exc securitygroup rule ingress create --cidr ::/0 --protocol TCPv6 --port_range 22 --security_group_id $(exc securitygroup list | awk '/ubuntu-security-group/{print $1}')Create Egress Rules to Allow All Traffic
exc securitygroup rule egress create --cidr 0.0.0.0/0 --protocol IPv4 --port_range ANY --security_group_id $(exc securitygroup list | awk '/ubuntu-security-group/{print $1}') exc securitygroup rule egress create --cidr ::/0 --protocol IPv6 --port_range ANY --security_group_id $(exc securitygroup list | awk '/ubuntu-security-group/{print $1}')
Creating a New VM
Use the following one-liner command to create a new n1.2c VM with the Ubuntu image. This command will automatically pass all the required parameters for a hassle-free experience.
exc compute create --allocate_public_ipv4 --name my-ubuntu-vm --image_id 10 --instance_type t1a.medium --ssh_pubkey excloud --project_id 1 --security_group_id $(exc securitygroup list | awk '/ubuntu-security-group/{print $1}') --subnet_id $(exc compute subnet list | awk 'NR==2{print $1}')- Command Explanation:
- The command uses
awkto extract the necessary IDs for subnet, SSH key, and security group. - The
--allocate_public_ipv4flag is used to allocate a public IP address to your VM.
- The command uses
Access via SSH
- Once the VM is up and running, use the public IP address to SSH into the VM.
ssh ubuntu@PUBLIC_IP