Creating a Virtual Machine

This article covers creating a virtual machine on Rackspace Flex Cloud with the Skyline UI

NOTE: This article assumes you've already got a network created within your Rackspace Flex Cloud account. If not, see this article:

Creating a Virtual Machine

Once we've got the necessary network foundations in place, a virtual machine can be launched on the Rackspace Flex Cloud platform. When using the Skyline UI to create a virtual machine, it will walk us through the four step process of selecting and creating our VM.

Step 1: Base Config

  1. Click Compute from the side toolbar.
  2. Click Instances from the drop-down menu.
  3. Click the Create Instance button from the viewing pane.
  4. You'll now be placed in Step 1 of the VM creation pane. Here you'll make your selections for availability zone, flavor, boot source, and operating system image. What those mean can be found below.
    1. Availability Zone: A logical grouping of compute resources within an OpenStack cloud, often mapped to different data centers or server racks. Users can select an availability zone to ensure redundancy or optimize performance.
    2. Flavor: Defines the hardware specifications of a VM, including CPU, RAM, and disk size. It acts as a template for resource allocation when launching an instance. If you're unsure what the flavor names mean or need more info, see this article:
    3. Boot Source: Specifies how the VM is initialized, such as from an existing image, a volume, or an instance snapshot. This determines where the OS and data originate from.
    4. Operating System Image: A pre-packaged OS template (e.g., Ubuntu, CentOS, Windows) stored in OpenStack’s Image service (Glance). Users select an image to install an operating system when creating a VM.
  5. After making your selections, click the Next: Network Config button to move to Step 2.
A filled out Step 1 for VM creation.

A filled out Step 1 for VM creation. This VM will boot from Local Disk, not a volume.

Step 2: Network Config

Now that we've got our base configuration for our VM, we can make our network selections. In order for us to get a VM launched, we at least need to select a Network and a Security Group. The VLAN and Port will be handled automatically when we create our VM. Once you've made your selections click the Next: System Config button to advance. In the screenshot below you can see how we've filled out Step 2:

An example of Step 2 filled out for VM creation.

An example of Step 2 filled out for VM creation.

Step 3: System Config

In Step 3 we're setting some important information for our VM. We're configuring the following:

  • Name: The name of our VM
  • Login Type: This determines if we use SSH Keypairs or Password authentication to log into the VM
    • If using Password auth you'll be shown the Login Name which is the username you'll log into the VM with, and be asked to supply the desired password.
    • If using Keypair auth you'll have the option to select an existing SSH Keypair, or create a new one. If you create a new Keypair it will appear in the list and the keyfile will be automatically downloaded to your local machine.

When you're ready to advance, click the button labeled Next: Confirm Config

An example of Step 3 filled out, with the password authentication chosen.

An example of Step 3 filled out, with the password authentication chosen.

IMPORTANT: While Keypair authentication can require more technical understanding, it is advised to use this method for enhanced security.

Step 4: Confirm Config

In the final step, you'll simply be reviewing your selections before clicking Confirm to initiate the creation of your VM.

An example of Step 4, ready to be built.

An example of Step 4, ready to be built.

Finished! After creating your VM, you'll find it in the Compute > Instances list on your UI. There you'll be able to see the status of the VM.

Creating a Floating IP

Once the instance is ACTIVE you still will not be able to connect to it remotely. This is because the instance's internal network IP is not reachable from the Internet yet. To allow our VM to be available from outside of our private network we need to Create and Associate a Floating IP.

A floating IP is allocated from an external provider network and loosely coupled to a VM via its network port rather than the VM itself. Remember that a floating IP can only be mapped to one port at a time. It gets the designation of 'floating' by having the ability to disassociate from one port and re-associate with another port without the need to make any upstream network changes. Thus, the IP can "float" between VMs.

To create and associate our Floating IP, follow the below steps:

  1. From the side toolbar click Network
  2. From the drop-down options select Floating IPs
  3. Click Allocate IP from the view pane.
  4. You'll be presented with a new window where you are required to at least enter the network as 'PUBLICNET', the other options are optional or will be handled automatically. It is advised to provide a description as this will help you identify this floating IP more easily. Below is a screenshot of a Floating IP being created:
A floating IP ready for creation.

A floating IP ready for creation.

Associating the Floating IP to a VM

Now that we've created the Floating IP we just need to assign it to the port our VM uses. Remember, Floating IPs are NOT actually assigned to VMs, but to ports. So as long as we assign the Floating IP to the port our VM uses, we've ensured connection to the right device. Here are the steps to accomplish this:

  1. From side toolbar navigate to Network > Floating IPs
  2. Identify the Floating IP we want to assign and click More to the right of its listing.
  3. Click Associate from the drop-down menu.
  4. In the new window, select the desired VM and it's internal IP address.
  5. Click OK to associate the floating IP to our VM.
  6. If successful the Floating IP will now be listed as 'Active'.

Accessing the VM

Now that we have applied the Floating IP to our VM, we can attempt to remotely log into the VM using the appropriate default protocol and port such as SSH or RDP.