Difference between revisions of "OpenStack"
m (→Instance States and associated operations: minor formatting changes) |
|||
Line 141: | Line 141: | ||
# On the "<tt>Key Pairs</tt>" tab, select the [[#Key Pairs|key pair]] you already created. | # On the "<tt>Key Pairs</tt>" tab, select the [[#Key Pairs|key pair]] you already created. | ||
− | === Instance States | + | === Instance States === |
OpenStack defines several [https://developer.openstack.org/api-guide/compute/server_concepts.html#server-status Server States] through which you can move your instances: | OpenStack defines several [https://developer.openstack.org/api-guide/compute/server_concepts.html#server-status Server States] through which you can move your instances: |
Revision as of 12:52, 16 January 2019
OpenStack is an open-source cloud stack that is currently running on Red Cloud. Also, for more information, see the Official Documentation for OpenStack. If you are looking for information on how to migrate an instance from Eucalyptus to OpenStack, please see Migrating from Eucalyptus to OpenStack.
This page is intended as a quick walk-through of the most-used features of OpenStack, so it is not comprehensive, but links to a lot of supporting documentation for more thorough explanations and advanced topics.
Using the OpenStack Web Interface (Horizon)
There are two ways to manage Red Cloud resources:
Most users will use the OpenStack Web Interface (called Horizon). This web-based interface can be used to manage instances and volumes. For Linux Instances, however, some users may choose to use the OpenStack CLI. This section focuses on the OpenStack Web Interface.
Logging In
Log in to the OpenStack Web Interface to create and manage Red Cloud resources. There are two ways to login:
- CAC Account - Enter cac as the "Domain" and your CAC username and password, not your Cornell NetID. If your CAC password has expired, you will need to reset it before you will be able to login to the OpenStack Web Interface.
- Globus Auth - Log in through Globus
- Currently, this feature is only available to Aristotle users. This feature will be enabled for all users in the future.
- You must link your Cornell account, or any accounts attached to the projects you are on, in order to have access to them when using Globus Auth.
- If you can't log in with Globus Auth, it may be that you have not linked your account yet.
You can use the "Authenticate using" drop-down to switch between the two options. Neither option requires you to enter a project ID; you can switch between the projects you are on once logged in.
Overview Page
The Overview page is the first place you will be taken upon logging into Red Cloud.
- Provides useful metrics on currently selected project
- Before creating an instance, you will need to:
- Select the correct project from the "Project" drop-down at the top right of the page (if you are on multiple projects)
- Create a key pair - for authentication when you log in the first time
- Create a security group - defines allowable types of port access for an instance
- Optional: Set up a private network - if you do not want your instance to be available on the public net
- You may also want to:
- Create and Attach a Volume (can also be done when launching an instance)
- Associate a Floating IP address - a fixed IP address that can be assigned to an instance
Key Pairs
To get to the Key Pairs page: select the "Compute" tab along the top (you should start here at login), then click on "Key Pairs" along the top bar as pictured above. If you are logged in already, you can also get to it by this link: Key Pairs.
On the Key Pairs page, you can view the list of available key pairs for your project. From here, you can also create or import a key pair. If you do not already have a key pair listed, you can either create one before launching an instance, or create or upload a key pair during instance setup.
For more information, here is a walk-through on OpenStack Key Pairs.
Security Groups
To get to the Security Groups page: select the "Network" drop-down menu along the top, then click on "Security Groups" as pictured above. If you are already logged in, you can also get to it by following this link: Security Groups
On the Security Groups page, you can view a list of available security groups for your project, including a default security group. On this page, you can also create and delete security groups. It is not recommended that you use the default security group without modifying the rules to fit your needs. A good security practice is to have one security group per application or one per user. Instances that have no business talking to each other should generally be in separate security groups.
If you do not already have a security group set up, you will want to create one before launching an instance because you cannot create one during instance setup. However, you can assign a security group to an instance later, and even add or modify the rules of the security group at any time.
For more information, here is a walk-through on OpenStack Security Groups.
Instances
Each instance is a Virtual Machine (VM) in the cloud. You can select CPU/RAM/disk configurations (called "flavors") for the VM. The available VM configurations are:
Type | CPUs | RAM |
---|---|---|
c1.m8 | 1 | 8 GB |
c2.m16 | 2 | 16 GB |
c4.m32 | 4 | 32 GB |
c8.m64 | 8 | 64 GB |
c14.m112 | 14 | 112 GB |
c20.m160 | 20 | 160 GB |
c28.m224 | 28 | 224 GB |
The root disk size of the instance will default to the size of the image you select. You have the option to create a volume as the root disk beyond the image size at launch time. Note that we do not oversubscribe physical RAM or CPU cores (hyperthreading is disabled).
To work with instances, select the "Instances" page under the "Compute" tab, as pictured below:
Launch an Instance
This section is a general walk-through for creating a new instance, which is not specific to an Operating System (OS). For more specific information per OS, see either of the Linux Instances or Windows Instances pages.
To launch a new instance
- Create Key Pair
- Create a Security Group and be sure that you select the appropriate rule for connecting to your instance (SSH for Linux Instances and RDP for Windows Instances)
- Select "Launch Instance" on the top right side of the Instances page
The full "Launch Instance" menu will pop up like this:
- Tabs that you are required to fill out are marked with a *
- It is recommended that you also select your own Security Group, otherwise the default security group will be selected, which may not be ideal for your work.
- It is necessary that you select your own Key Pair, even though this field is not marked required, so that you are able to connect to your instance after creation.
Configuring the Instance
- Under the "Details" tab:
- Enter a name for your instance
- Count is the number of identical instances you would like to create (typically 1).
- Note that if you create multiple instances this way, the names will be identical with a dash and number added at the end.
- For example, if you set Instance Name to "my_instance" and you set Count to 3, you would start instances named "my_instance-1", "my_instance-2", and "my_instance-3".
- On the "Source" tab:
- You must Select Boot Source, which is described on the page as "the template used to create an instance."
- It is generally a good idea to start with an image as the source, unless you want to create an instance from a pre-existing source.
- For more information on the other options, see Creating an Image.
- You can select a specific source under the Available list by selecting the up arrow on the right-hand side.
- Get more details about the specific source by selecting the right-arrow on the left-hand side next to the name.
- You will have the option to Create New Volume if you have selected either "Image" or "Instance Snapshot" as the source (default is "Yes"):
- Yes: If selected, a volume will be created to be the instance's root disk. You will have the options of extending the size of the volume beyond the image size, and keeping the volume when the instance is deleted (by selecting No in the Delete Volume on Instance Delete field).
- Volume Size is the size of your root volume. The default number will match the size of the image you select, and can be increased.
- Delete Volume on Instance Delete determines whether or not your root volume will be deleted when you terminate the instance. By default, this option is set to "No" to prevent accidental deletion of your data. However, if you do not intend to re-use the root volume, you could unintentionally incur excess storage usage. You can either delete the root volume manually later (it will show up in the list of volumes with the ID the same as the name), or select "Yes" on this option to automatically delete it when you terminate your instance later.
- You can also customize the name of the volume under Device Name.
- No: If selected, the instance will boot off a root disk the same size as the image. The root disk will be deleted when the instance is deleted.
- Yes: If selected, a volume will be created to be the instance's root disk. You will have the options of extending the size of the volume beyond the image size, and keeping the volume when the instance is deleted (by selecting No in the Delete Volume on Instance Delete field).
- You must Select Boot Source, which is described on the page as "the template used to create an instance."
- The "Flavor" tab is where you select the VM configuration discussed above.
- You can select a configuration by selecting the up arrow on the right-hand side.
- Get more details about the configuration by selecting the right-arrow on the left-hand side next to the name.
- The "Total Disk" will show "0 GB" because the disk size will match the image you selected on the "Source" tab.
- For the "Networks" tab, two options are available:
- You can make the instance available on the public net. This is the simplest and most common selection.
- You can select your own private network, which has to be set up before you launch an instance. For more information, see the Networks page.
- On the "Security Groups" tab, select the security group you already created.
- On the "Key Pairs" tab, select the key pair you already created.
Instance States
OpenStack defines several Server States through which you can move your instances:
When your instance has been created, the "Instances" tab will list it's current state under the "Status" column. In the rightmost column called "Actions," there is a drop-down menu which lists several allowable actions, depending on the current state of the instance; below we describe those states and list some of the common actions you will use to change instance state.
Important States
Note: The only state where you are NOT being charged for computational resources is Shelved Offloaded
- Active: Instance is active, you can connect to it and are being billed for the computational resources dedicated to it.
- Shelved Offloaded: The Instance is not resident on the compute host; this means you will not be billed for computational resources while the Instance is in this state (although you will be charged for the storage required to hold it). You can restart the server when you need it again.
- Paused: In this state, the server state is preserved in RAM, but operations have been stopped and will resume when instructed. You are still being charged for the computational resources dedicated to the Instance.
- Suspended: Instance state has been stored on disk, including the contents of its RAM. With RedCloud's configuration, you are still paying for the computational resources you were using.
- Stopped: This is like powering off a server; in this state, you are still being billed for the computational resources
- Resized: At this time, the Instance is being Resized to a different flavor—that is, a different allocation of vCPUs and RAM—and is not contactable.
Operations to transition between states
These options are available, subject to the current state of the Instances, from the dropdown available in the "Actions" column of the Instances page. Remember that Shelving is the only operation that will free up the computational resources your Instance has been using so that you stop being charged for them!
- Pause Instance: Put instance into the PAUSED state.
- Suspend Instance: Put instance into the SUSPENDED state.
- Shelve: This is how you put the Instance aside so that you are no longer charged for computational resources being used; your Instance will still be visible on the Instances page with Status SHELVED_OFFLOADED. To get the Instance back up and running, select "Unshelve" from the actions menu.
- Resize: Allows you to select a new Instance flavor. After you have selected it, Status will be shown as "Confirm or Revert Resize/Migrate" you will have to confirm in the Actions dropdown, after which the Instance will be taken down and then come back up with the new computational resources available to it. On Linux you can check with commands such as
lscpu
orcat /proc/cpuinfo
; on Windows you can, for example, use the "Performance" tab of Task Manager to see the available cores.
- Resume Instance: Will restart the Instance from states of PAUSED and SUSPENDED
- Soft Reboot Instance or Hard Reboot Instance: Reboot your instance, either through issuing a command to the operation system ("Soft") or as if power-cycling the Instance ("Hard")
- Shut Off Instance: Like powering off the Instance, an action you will need to confirm in a pop-up window. The Status shown will be SHUTOFF and you will need to "Restart" to get it back. Additionally, if you are logged into an instance and use an OS command such as
sudo poweroff
orsudo init
, the Instances page will show the same status and you will need to select "Restart" to get the Instance back up and running. In this state, you are still being charged for computational resources.