Creating an Instance with Exosphere

Once you have logged in and selected an allocation, select “Create” and then “Instance”.

screenshot of create dropdown

Choose an Instance Source

Next, choose an instance source. If you are a new user, select your desired operating system “By Type”.

Action Screenshot
Choose by Type

Select your preferred operating system, or if you don’t have a preference, pick the newest Ubuntu version. Exosphere selects the latest official image for your chosen type automatically.
Choose by Image

Alternatively, if you want to specify a particular image to create an instance from, select the “By Image” tab. Here, you can browse the entire Jetstream2 image catalog.

Configure Instance

Next, you can select options your new instance. If you’re unsure what to choose for any of these, you can leave it at the default. When you’re done choosing options, click the “Create” button at the bottom.

Action Screenshot
Choose a Name

If you will use the instance for anything important, resist the urge to accept the randomly-generated name. Give it a descriptive name to distinguish it from other instances later.
Choose a Flavor

Exosphere selects the smallest flavor by default. This is good for exploring and development work, because it conserves your Jetstream2 allocation.

Select a larger-size flavor if the smallest flavor proves too small for your explorations, or if you are ready to scale a workload up to many CPU cores / many GB of RAM. Note that larger flavors will consume your allocation (SUs) more quickly. Select a GPU flavor if you require a GPU (and your Jetstream2 allocation provides GPU access). You can always resize your instance to a different flavor later.
Choose a Root Disk Size

If the default size for the selected flavor is too small for your needs, you can specify a larger custom disk size. This will create a volume-backed instance.
Choose a Quantity

You can create multiple instances simultaneously, up to the maximum quantity your quota limits support.

When you create multiple instances at a time, and “X of Y” will be appended to the name of each. Otherwise, they will all will receive the same configuration.
Decide Whether to Enable Web Desktop

Enable Web Desktop if you need to use graphical software on your instance, or if you prefer working in a graphical environment instead of a text-based shell (terminal). Note that the graphical desktop environment consumes slightly more resources (CPU and RAM) than a shell, so consider using at least the m3.small flavor for a more responsive experience.

Advanced Options

Most people can skip these advanced options, and just click the “Create” button at the bottom. Advanced options are intended for power users and less-common use cases.

Action Screenshot
Install Operating System Updates

By default, new instances install operating system security and bug-fix updates when they first power on. This takes a couple of minutes. So, only skip these if you really want the fastest possible setup and you do not care about the security of your instance. This option does not disable unattended upgrades, which may still run in the background shortly after your instance powers on.
Deploy Guacamole for Easy Remote Access

By default, Exosphere instances provide easy remote access via a Guacamole-based terminal (Web Shell), and optionally a graphical environment (Web Desktop). If you don’t want these for some reason, and you are comfortable using native SSH to connect to your instance, then you can disable setup of the Guacamole components.
Choose a Network

By default, Exosphere will use the network topology that OpenStack automatically creates for your allocation (and ask OpenStack to create it if needed). If you want your instance connected to a different OpenStack network, you can choose that here. If you change this without knowing what you’re doing, your instance may end up with broken network connectivity.
Assign a Public IP Address

By default, Exosphere assigns a public (floating) IP address to your instances. Right now, a public IP is required for the Guacamole-based interactions (Web Shell and Desktop) to work. It is also required for you to make a direct native SSH connection to your instance from your workstation (or from anywhere else outside Jetstream2).

Still, you may be creating a cluster of instances, and you may not want all of the cluster nodes to have public IP addresses. In this and similar cases, you can disable the assignment of a public IP address here. If you disable the public IP address for an instance, the only way to connect to that instance will be via native SSH, from one of your other instances that does have a public IP address.
SSH Public Key

If you want to make a native SSH connection to your instance using public key-based authentication, you can select your public SSH key here, and upload a new one if needed.

Note that you do not need to use key-based authentication to connect to an instance via native SSH. Regardless of your choice here, Exosphere will also set a strong passphrase for the exouser user. You can view this passphrase (and use it to SSH in) after instance setup is complete.
Boot Script

Here you can see how the sausage is made! The term “boot script” is a slight over-simplification: this text area contains cloud-init configuration represented in YAML format, which Exosphere passes to the new instance when it is first powered on.

It is generally best to leave this text area alone, create the instance, then log into it and make further configuration changes as needed (e.g. installing software and downloading data).

Most of what you see here is important for Exosphere’s interactions and other features to work with the new instance. So, if you make changes without knowing what you’re doing, the instance setup may not complete. This will leave the instance in a partially working, partially broken state from Exosphere’s perspective. In this case, Jetstream2 support staff would likely advise you to delete it and create another instance with this field left un-modified.

Still, if you are not afraid of editing YAML, you can modify this configuration before clicking the “Create” button. Note that Exosphere templates out a few important variables which are enclosed in single curly braces ({ and }) in this configuration data.

Finally, click the “Create” button at the bottom, and Exosphere will set up your instance.