Step 12: A usable VM
Start
Although you already created a VM in Step 7, the VM was not usable as it was not connected to a network, let alone the internet. Let’s create one that you can actually log on to.
Installation
To create this VM, add some parameters to the command we used in Step 7:
$ openstack server create BeispielInstanz --flavor m1.small --key-name Beispiel --image "Ubuntu 16.04 Xenial Xerus - Latest" --security-group allow-ssh-from-anywhere --network=BeispielNetzwerk
+-----------------------------+---------------------------------------------------------------------------+
| Field | Value |
+-----------------------------+---------------------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | es1 |
| OS-EXT-STS:power_state | NOSTATE |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | None |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | |
| config_drive | |
| created | 2017-12-08T12:52:37Z |
| flavor | m1.small (b7c4fa0b-7960-4311-a86b-507dbf58e8ac) |
| hostId | |
| id | 1de98aa4-7d2b-4427-a8a5-d369ea8bdaf5 |
| image | Ubuntu 16.04 Xenial Xerus - Latest (82242d21-d990-4fc2-92a5-c7bd7820e790) |
| key_name | Beispiel |
| name | BeispielInstanz |
| progress | 0 |
| project_id | b15cde70d85749689e08106f973bb002 |
| properties | |
| security_groups | name='allow-ssh-from-anywhere' |
| status | BUILD |
| updated | 2017-12-08T12:52:37Z |
| user_id | 9bf501f4c3d14b7eb0f1443efe80f656 |
| volumes_attached | |
+-----------------------------+---------------------------------------------------------------------------+
The following parameters are included:
--flavor
: The flavor of the the VM. You get all available flavors withopenstack flavor list
.--key-name
: The key to install on the VM.--image
: The operating system image to install on the VM. You can get all available images withopenstack image list
.--security-group
: Specifies the security group.--network
: Specifies the network to attach the VM to.
If you want to reach your VM from the internet, you need a floating IP address.
You can create one as follows:
$ openstack floating ip create provider
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| created_at | 2017-12-08T12:53:37Z |
| description | |
| fixed_ip_address | None |
| floating_ip_address | 185.116.245.65 |
| floating_network_id | 54258498-a513-47da-9369-1a644e4be692 |
| id | 84eca140-9ac1-42c3-baf6-860ba920a23c |
| name | None |
| port_id | None |
| project_id | b15cde70d85749689e08106f973bb002 |
| revision_number | 0 |
| router_id | None |
| status | DOWN |
| updated_at | 2017-12-08T12:53:37Z |
+---------------------+--------------------------------------+
The created IP must be associated with your VM:
openstack server add floating ip BeispielInstanz 185.116.245.145
Usage
You should now have a reachable VM.
To check if all worked correctly, log in to your VM with SSH.
IMPORTANT: You can only log in if the specified ssh key exists and is accessible (if it does not work, follow the instructions in Step 6).
$ ssh ubuntu@185.116.245.145
The authenticity of host '185.116.245.145 (185.116.245.145)' can't be established.
ECDSA key fingerprint is SHA256:kbSkm8eJA0748911RkbWK2/pBVQOjJBASD1oOOXalk.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '185.116.245.145' (ECDSA) to the list of known hosts.
Enter passphrase for key '/Users/ubuntu/.ssh/id_rsa':
Clean-Up
If you want to delete all components you just created, you must delete them in the following order.
If you do not delete them in the correct order, you will be unable to delete components that other resources depend on.
- Instance
openstack server delete BeispielInstanz
- Floating-IP
openstack floating ip delete 185.116.245.145
- Router Port
openstack port delete BeispielPort
- Router
openstack router delete BeispielRouter
- Subnet
openstack subnet delete BeispielSubnet
- Network
openstack network delete BeispielNetzwerk
Conclusion
You have now created a VM based on your knowledge from steps 7 to 11, you can reach it from the internet, and have logged in with SSH.
In the next step, you will break away from individual instances and will create a stack.