How do I create and access a virtual machine instance?

What are the steps for the provisioning of a dedicated Virtual Machine (VM) via the WEkEO portal once I have been provided the necessary privileges to create a VM?

 

VM service: Log into the WEkEO portal and click on your <username>.  A drop-down menu with several options is shown as below.

Drop down menu

Single-Sign-On: Select CAS

Single-Sign-On

Dashboard: Select the Virtual Machines option. A dashboard similar to the one below is shown.

Dashboard

 

User settings: Before creating any VMs, please make sure 'user account' credentials are configured for Linux. This login credentials are needed to login into any provisioned VM instance. To configure credentials for the VM, navigate to <username> in  dashboard and select "USER SETTINGS" from the drop-down list as shown below.

User settings menu

 

VM user credentials and Key Pairs: The panel to set-up the credentials for VMs is displayed. Under "Linux Settings", enter the desired username and password to be used in the deployed VM. In this example, user 'test' is created.

User setup for VM

 

Key Pairs are commonly used for accessing instances via SSH, on WEkEO the following actions are enabled: Add and Delete. WEkEO stores key pairs to simplify administration.

To navigate to the Key Pairs section:

  1. Select the Infrastructure link in the navigation bar
  2. Select the Keys & Certs link in the sub navigation bar

Please also refer to the section "virtual machine account" in the wekeo registration page

Creating VM instance: Navigate back to the dashboard and click on 'Provisioning'. A panel (similar to the one below) showing all the VM instances and other statistics is shown. Click on the 'Add' button (highlighted in the figure below) at the top of the list of instances. 

Provisioning

This will open a dialog to configure a VM instance by selecting OS, storage, network etc.

Create VM instance

 

OS Type: First step is to select the OS. Input into the search field, the desired OS and the dialog displays all the OS matching the search term. In the figure below, CentOS was searched and selected for the VM instance to be provisioned. 

CentOS

 

Group: After selecting the OS, continue to 'Group' tab (by clicking 'Next'). Enter a desired name for the VM instance and select one of the following environment tag from the drop-down list: Dev, Test, Staging, Production. Also to make it easier search the instance later by keywords, enter these keywords under Tags.

group

 

Configure: Continuing to next tab provides several configuration options including storage and network. Following fields are of interest and rest of the fields can stay with the default values.

Configure VM

Version: This refers to OS/Linux image version to use for the instance. This can be left to default value.

Plan:  You are allowed to launch instance(s) whose combined allocation of resources should not exceed the maximum defined by category XS or S (depends on the role) in the table below. For instance, if you are allowed for XS category, then you can create two instances of m1.large (CPU:2, RAM:16GB) or one instance of m1.xlarge (CPU:4, RAM:32). Similarly if you are allowed for S category, then you can create two instances of m1.xlarge (CPU:4, RAM:32) or one instance of m1.2xlarge.

VM Server Configurations
Category XS - XtraSmall S- Small
vCPUs 4 8
RAM 32  GB 64 GB
Block Storage 500 GB 2 TB
File Storage 500 GB 1 TB
Object Storage 500 GB 4 TB
Public IPs 1 1
Load Balancers 0 1
GPUs 0 0
Block Storage SSD No No
VPN 0 0

 

Volumes: You can define one or more volumes as per your usage needs. By default a single volume (block storage) is created.

Network: Select the only network shown in the drop-down list as shown below

select network

 

Security Group: Select the security group "default".

security group

Assign floating IP: Select the only option available in the drop-down list 'Assign floating ip' if you require the VM instance to be configured with public IP address (for reaching the instance from internet ).

 

Assign floating ip

 

Automate: Continue to the next tab 'Automate'. All the default values can be left unchanged. 

Automate

 

Review: The final tab shows the summary of the configured options for the VM. If everything looks ok, click on 'Complete' to provision the VM instance.

Review of VM options

 

Locate the instance: Now search for the VM instance by entering the first few characters of the VM instance name that you provided in the previous step. In this example, we have used 'myFirstVM' as the name of the instance. 

Instance name

 

Click on the row in the result set that corresponds to the instance that you just created. This will display the panel showing the progress in provisioning the instance. 

Instance provisioning progress

Public IP address: Once the instance is ready, the public IP address (if floating ip was chosen) is visible under VMs option.

public IP address

 

Console access: Scrolling down further shows various tabs including one to access the VM via its console. Clicking on the 'Console' tab opens the console of the instance. Press 'Enter' key if the login prompt is not visible in the console. Now enter the credentials (see above) to access the provisioned instance.

Console

 

Deleting the VM instance: Please delete the instance if its no longer required by clicking the 'Delete' button (see figure above)

Remote Desktop Access

If the VM has been provisioned with desktop environment, then x2go can be used to access the remote desktop. X2Go is an open source remote desktop software solution, enabling access to a graphical desktop. It has two components: x2go server and x2go client. x2go server must be installed on the machine/vm whose desktop needs to be accessed remotely. x2go client is installed on the machine from which remote connection is initiatied. x2go client is available for different operating systems. 

If you have the VM only with command line access, then the following commands shows installing desktop environment along with x2go server.  

x2go server, XFCE -  CentOS:

add EPEL repo: sudo yum install epel-release
install x2go server: sudo yum install -y x2goserver-xsession
install Xfce desktop environment: sudo yum groupinstall -y "Xfce"
reboot

x2go server, LXDE -  Ubuntu:

# install Lubuntu desktop LXDE
sudo apt-get -y install lubuntu-desktop

# install X2Go server
sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession

x2go client

For the remote-desktop access, x2go client needs to be installed. Instructions to install the client for different OS can be found here: https://wiki.x2go.org/doku.php/doc:installation:x2goclient&nbsp;

For connecting to the VM launch the 2go client and enter the following information 
        Session name : (any name)
        Host : (IP address of VM)
        Login : (username)
        SSH port : 22
        Session type (dropdown menu) : LXDE or XFCE (depending on the OS, see above)
 

x2go connection

For detailed step-by-step instructions, please refer to following external links:

https://www.howtoforge.com/how-to-install-x2goserver-on-centos-7-as-an-…

https://www.howtoforge.com/how-to-install-x2goserver-on-ubuntu-14.04-as…;