cloud:first_steps
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
cloud:first_steps [2018/07/06 13:42] – [Router] mdieckma | cloud:first_steps [2018/07/06 13:45] (current) – [Network] mdieckma | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | FIXME Guide for old cloud | ||
+ | |||
+ | ====== Introduction ====== | ||
+ | |||
+ | As computational power highly depends on sufficient hardware resources, it is a matter of financial liquidity and adequate premises whether enough computing capacities can be supplied. Hence a central facility is desirable which pools monetary efforts and provide a de facto computational platform for bioinformaticians and life scientists (henceforth called users) in the field of microbiology. In Giessen, the Bioinformatics Core Facility (BCF) provides and maintains hardware and supports users to make efficient use of latter one. While the existing Cluster Computing technology already offers computational power in a more or less accessible way, finite hardware resources and low scalability restrict user capabilities. | ||
+ | |||
+ | As opposed to this, Cloud Computing allows users to allocate computing resources on demand and avoids hardware provisioning far ahead. Additionally, | ||
+ | |||
+ | Therefor, BCF introduces a Cloud Computing platform for bioinformaticians, | ||
+ | |||
+ | Concurrent the official website (http:// | ||
+ | |||
+ | Furthermore it is open source software for creating private and public clouds. The access is provided via the aforementioned dashboard. Besides the dashboard, OpenStack " | ||
+ | |||
+ | * **Compute (Nova)** implements services and associated libraries to provide massively- | ||
+ | * **Networking (Neutron)** implements services and associated libraries to provide on-demand, scalable, and technology-agnostic network abstraction, | ||
+ | * **Object storage (Swift)** provides eventually consistent and redundant storage and retrieval of fixed digital content, used to store data, including virtual machine images | ||
+ | * **Block storage (Cinder)** implements services and libraries to provide on-demand, self-service access to Block storage resources, i.g. to add additional persistent storage to a virtual machine (read [[ http:// | ||
+ | * **Identity (Keystone)** acts as common authentication system, facilitates API client authentication for OpenStack services | ||
+ | * **Image (Glance)** provides services and associated libraries to store, browse, share, distribute and manage virtual machine images and corresponding meta data definitions | ||
+ | * **Dashboard (Horizon)** web-based user interface for all OpenStack services | ||
+ | * **Telemetry (Ceilometer)** collects measurements of the utilization of the physical and virtual resources comprising deployed clouds, persists this data for subsequent retrieval and analysis, and triggers actions when defined criteria are met | ||
+ | * **Orchestration (Heat)** orchestrates composite cloud applications using templates in the form of text files | ||
+ | |||
+ | ====== Login ====== | ||
+ | |||
+ | ===== Get a BCF-Cloud Account ===== | ||
+ | |||
+ | First of all, you will need an BCF-Cloud account. Please visit [[ https:// | ||
+ | |||
+ | ===== Join/create a Project ===== | ||
+ | |||
+ | Before you can log in, you have to be a member of an existing project. Please contact the project administrator to get adequate permissions. | ||
+ | |||
+ | ===== Dashboard ===== | ||
+ | |||
+ | === Access the Cloud Dashboard === | ||
+ | |||
+ | As soon your account is released, go to https:// | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | Enter ' | ||
+ | |||
+ | === OpenStack Dashboard === | ||
+ | |||
+ | If the login was successful you should see the overview page, similar to the screenshot below. | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | The overview page summarizes the resource allocation (1) within the current project (2). If you are member of several projects you might switch between them here, too. Furthermore at the bottom of the page (3) one can find a list of all virtual machines (instances) belonging to this project. | ||
+ | |||
+ | > The terms instance, volumes and images may be confusing in the beginning. To illuminate the things a little bit, one can think of an instance interchangeable with a virtual machine (according to Wikipedia, "an emulation of a computer system [...] provid[ing] functionality of physical computer" | ||
+ | |||
+ | The " | ||
+ | |||
+ | ====== Router ====== | ||
+ | |||
+ | * You need a router! | ||
+ | * Go to Network -> Routers and click on **Create Router** | ||
+ | * Fill in a Name and select for External Network // | ||
+ | * Click on **Create Router** | ||
+ | |||
+ | {{ cloud: | ||
+ | ====== Network ====== | ||
+ | |||
+ | * Go to Network -> Network Topology | ||
+ | * Click on **Create Network** and a form will appear | ||
+ | * Fill in a name and click on **next** | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | * Fill in a Network Adress (e.g. 192.168.0/ | ||
+ | * Click on **Create** | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | * At your Network Topology Click on your Router | ||
+ | * Click on **Add Interface** | ||
+ | * Select your new Network (i.e. private) and click on **Submit** | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | * You should see something like this: | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | ====== Create Image ====== | ||
+ | |||
+ | As mentioned above, one can create own images under the " | ||
+ | |||
+ | > You need sufficient permissions (i.e. administrator rights) to create a new image. | ||
+ | |||
+ | You have to specify a name, the source and the location of the image (read [[ http:// | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | ====== Create Volume ====== | ||
+ | |||
+ | To create a volume, you have to specify a name and the size in GByte. Additionally you could provide a volume source and a type. The former lets you create an empty volume which can be attached to an existing instance. Choosing an image as a source is technically the as same as creating a new image from scratch in the " | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | ====== Create Key Pair ====== | ||
+ | |||
+ | In terms of simplification instructions to create or import a key pair are limited to the external key pair creation tool accessible via the " | ||
+ | |||
+ | ===== Add Key Pair ===== | ||
+ | |||
+ | Remote connection is enabled via SSH. In order to log into your virtual machine, access to the " | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | ===== Configure Key Pair ===== | ||
+ | |||
+ | After you have successfully downloaded your key, it is necessary to adjust the file permissions. Invoking the following the command will modify the file appropriate. | ||
+ | |||
+ | <code bash> | ||
+ | userg@cb-pc08: | ||
+ | </ | ||
+ | |||
+ | The file permissions should now look like the example above: | ||
+ | |||
+ | <code bash> | ||
+ | -rw------- | ||
+ | </ | ||
+ | |||
+ | ==== Import existing Key Pair ==== | ||
+ | |||
+ | Employing an existing SSH key is as simple as creating a new one. Assuming that you already own a key pair (public and private key), there should be a directory, which is usually called '' | ||
+ | |||
+ | <code bash> | ||
+ | drwx------ | ||
+ | drwx------ 89 user cb 12288 Jan 16 11:29 ../ | ||
+ | -rwx------ | ||
+ | -rwx------ | ||
+ | -rwx------ | ||
+ | -rwx------ | ||
+ | -rw------- | ||
+ | -rw------- | ||
+ | </ | ||
+ | |||
+ | ====== Launch Instance ====== | ||
+ | |||
+ | > Before launching an instance you should have created a "Key Pair" to enable remote connection via SSH to your instance. | ||
+ | |||
+ | Launching an instance is as easy as the necessary steps aforementioned (creating an image and a volume). First of all, you have to specify a name. If you need to create several copies of your instance, you can can set the desired amount within the " | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | Here, one can load an image source, which will be used as recipe for your new instance. Click on the " | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | Finally choose an appropriate flavor for your instance. By default OpenStack provides several predefined flavors, pick that flavor which satisfies your needs most. | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | As above-mentioned, | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | ====== Associate Floating IP ====== | ||
+ | |||
+ | In order to connect to your virtual machine (= instance), it must be related to a public network address. A private, fixed IP address, used "for communication between instances", | ||
+ | |||
+ | > The amount of floating IPs is restricted by the project quota. Contact the project administrator in case you encounter issues during the association step. | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | ===== Permit Network Traffic To Floating IP ===== | ||
+ | |||
+ | In order to log into your virtual machine, it's essential to allow network traffic to your floating IP. To achieve this, go to the " | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | In order to permit network traffic to your instance, click on "Add Rule", select " | ||
+ | |||
+ | {{ cloud: | ||
+ | |||
+ | Finally, switch to th " | ||
+ | |||
+ | ====== Connect to Instance ====== | ||
+ | |||
+ | Assuming that all steps above were completed successfully, | ||
+ | are possible, depending on the manner you have added a key pair. In case a new key pair was created via the OpenStack dashboard, you should have a '' | ||
+ | |||
+ | <code bash> | ||
+ | user@cb-pc08: | ||
+ | </ | ||
+ | |||
+ | Usually pre-existing cloud images already contain user credentials. Have a look [[ http:// | ||
+ | |||
+ | If everything works correctly, your terminal should display something similar to the output below: | ||
+ | |||
+ | <code bash> | ||
+ | [centos@user-test-1 ~]$ | ||
+ | </ | ||
+ | |||
+ | Accessing the instance via an imported key pair differs only in the type of key (the private key) you will use to connect to your machine: | ||
+ | |||
+ | <code bash> | ||
+ | user@cb-pc08: | ||
+ | [centos@user-test-2 ~]$ | ||
+ | </ | ||
+ | |||
+ | Note that '' | ||
+ | |||
+ | <code bash> | ||
+ | user@cb-pc08: | ||
+ | [centos@user-test-2 ~]$ | ||
+ | </ | ||
+ | |||
+ | ===== Access via SSH Agent ===== | ||
+ | |||
+ | start: | ||
+ | < | ||
+ | eval `ssh-agent` | ||
+ | ssh-add tutorial_key.pem | ||
+ | ssh -A ubuntu@134.176.27.164 | ||
+ | ssh ubuntu@192.168.4.9 | ||
+ | </ | ||
+ | |||
+ | kill | ||
+ | |||
+ | < | ||
+ | eval `ssh-agent -k` | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ====== Managing your Project ====== | ||
+ | |||
+ | * In the left corner select your project | ||
+ | {{ cloud: | ||
+ | |||
+ | ---- | ||
+ | |||