Creating an Instance with Exosphere¶
Once you have logged in and selected an allocation, select “Create” and then “Instance”.
Choose an Instance Source¶
Next, choose an instance source. If you are a new user, select your desired operating system “By Type”.
|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.
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.
|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
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.
|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
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 (
Finally, click the “Create” button at the bottom, and Exosphere will set up your instance.