Elastic Compute: Eucalyptus
Материал из Uniclusterwiki
Содержание |
Уведомление
Данный сервис предлагается в рамках программы "Университетский кластер" для выполнения некоммерческих, научно-исследовательских, образовательных проектов на условиях, определенных "Соглашением об использовании". Полный текст Соглашения об использовании.
| Если, с использованием данного сервиса Вы получили значимые для Вас результаты, программы или данные, пожалуйста обеспечьте их своевременное резервное копирование на системы хранения адекватные их ценности. |
Описание
Elastic Compute: Eucalyptus - сервис уровня инфраструктуры, который реализован на базе открытого проекта Eucalyptus. Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) открытое (open source) решение для организации доступа к вычислительным ресурсам с возможностью динамического масштабирования системы и балансировки нагрузки.
Eucalyptus реализует сервис в концепции облачных вычислений уровня IAAS (Infrastructure-as-a-Service), который позволяет управлять виртуальными машинами по запросу пользователей или приложений. Eucalyptus реализует возможности аналогичные сервисам Amazon EC2 и Amazon S3 и совместим с ними по интерфейсам, загружаемым виртуальным образам и утилитам. Eucalyptus поддерживает работу с гипервизорами Xen и KVN.
Ресурсы инфраструктуры "УК" на которых размещен сервис:
| Название/Владелец | Краткое Описание | hostname/IP управляющего узла в VPN "УК" | Мониторинг |
|
МВС-100K | Файл:Mvs100k md.jpg 200px
|
jscc-ycluster.unicluster.ru 172.16.52.13 |
Доступ
Перед доступом сервис должен быть активизирован. Для этого обратитесь в службу поддержки программы "Университетский кластер".
Доступ к сервису осуществляется с узла VPN "Университетский кластер": frontend.unicluster.ru
Быстрый старт
- Получить описание доступных ресурсов облака и типов виртуальных машин.
oleg.samovarov@frontend.unicluster.ru:~$ euca-describe-availability-zones verbose AVAILABILITYZONE JSCCY_CLUSTER 10.28.1.5 AVAILABILITYZONE |- vm types free / max cpu ram disk AVAILABILITYZONE |- m1.small 0254 / 0256 1 512 5 AVAILABILITYZONE |- c1.medium 0224 / 0224 1 1025 10 AVAILABILITYZONE |- m1.large 0096 / 0096 1 2048 20 AVAILABILITYZONE |- m1.xlarge 0032 / 0032 1 4096 25 AVAILABILITYZONE |- c1.xlarge 0032 / 0032 1 6144 35
- Получить описание доступных загрузочных образов в составе виртуальных машин
oleg.samovarov@frontend.unicluster.ru:~$ euca-describe-images IMAGE eki-42511647 centos-kernel-bucket/vmlinuz-2.6.24-19-xen.manifest.xml oleg.samovarov available public x86_64 kernel instance-store IMAGE eri-A5281794 centos-ramdisk-bucket/initrd.img-2.6.24-19-xen.manifest.xml oleg.samovarov available public x86_64 ramdisk instance-store IMAGE emi-E5DB150D centos-image-bucket/centos.5-3.x86.img.manifest.xml oleg.samovarov available public x86_64 machine eki- 42511647eri-A5281794 instance-store
- Создать приватный и публичный ключ
oleg.samovarov@frontend.unicluster.ru:~$ euca-add-keypair mykey | tee mykey.private KEYPAIR oleg.samovarov ... -----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
- Настроить права доступа
oleg.samovarov@frontend.unicluster.ru:~$ chmod 0600 mykey.private
- Запустить нужное число виртуальных машин
oleg.samovarov@frontend.unicluster.ru:~$ euca-run-instances -t m1.small -k mykey -n 1 emi-E5DB150D RESERVATION r-379605D4 oleg.samovarov oleg.samovarov-default INSTANCE i-4D4E085B emi-E5DB150D 0.0.0.0 0.0.0.0 pending mykey 2010-12-02T10:15:53.303Z eki-42511647 eri-A5281794
- Проверить статус запущенных виртуальных машин
oleg.samovarov@frontend.unicluster.ru:~$ euca-describe-instances RESERVATION r-446B0864 oleg.samovarov default INSTANCE i-414A0819 emi-E5DB150D 10.28.5.100 192.168.1.2 running mykey 0 m1.small 2010- 12-02T09:38:55.567Z JSCCY_CLUSTER eki-42511647 eri-A5281794
- Создать правило доступа
oleg.samovarov@frontend.unicluster.ru:~$euca-authorize -P tcp -p 22 -S 0.0.0.0/0 default
- Получить консоль виртуальной машины
ssh -i mykey.private root@10.28.5.100 -bash-3.2
Управление облаком через Web-консоль
Управлять облаком можно с использованием Web-консоли HybridFox. HybridFox представляет собой plug-in, который встраивается в браузер FireFox на стороне пользователя и позволяет:
- Управлять загрузочными образами виртуальных машин
- Запускать и останавливать виртуальные машины
- Управлять виртуальными машинами
- Управлять динамическим распределением IP адресов
- Управлять доступом для групп
- Управлять ключами авторизации
- Управлять виртуальными блочными устройствами хранения данных
Установить Web-консоль
Web-консоль управления облаком устанавливается на рабочей станции пользователя. Для этого необходимо:
- Скачать и установить браузер FireFox версии 3.6 и выше
- Скачать и установить клиент SSH для Windows платформы Putty
- Скачать и установить генератор ключей Puttygen
- Скачать Plug-in - HybridFox
Для установки Plug-in запустите браузер FireFox, откройте пункт меню "File->Open file", выберете скачанный файл и запустите установку. Перезапустите FireFox. В разделе меню "Tools" появится пункт Hybridfox.
Можно переходить к следующему разделу "Настроить Web-консоль".
Настроить Web-консоль
Для активизации Web-консоли необходимо:
- Прежде всего необходимо подключится к VPN "Университетский кластер".
- Запустить браузер FireFox, авторизоваться (Рисунок 2) на конфигурационной панели Eucalyprus и скачать файл полномочий (Рисунок 3).
Файл полномочий представлен в виде архива (вида euca2-oleg.samovarov-x509.zip) и содержит ключи доступа к облаку а также конфигурационный файл eucarc с помощью которого может быть настроено пользовательское окружение.
Файл eucarc содержит:
EUCA_KEY_DIR=$(dirname $(readlink -f ${BASH_SOURCE}))
export S3_URL=http://172.16.52.13:8773/services/Walrus
export EC2_URL=http://172.16.52.13:8773/services/Eucalyptus
export EC2_PRIVATE_KEY=${EUCA_KEY_DIR}/euca2-oleg.samovarov-76908603-pk.pem
export EC2_CERT=${EUCA_KEY_DIR}/euca2-oleg.samovarov-76908603-cert.pem
export EC2_JVM_ARGS=-Djavax.net.ssl.trustStore=${EUCA_KEY_DIR}/jssecacerts
export EUCALYPTUS_CERT=${EUCA_KEY_DIR}/cloud-cert.pem
export EC2_ACCESS_KEY='*******************************************'
export EC2_SECRET_KEY='*******************************************'
# This is a bogus value; Eucalyptus does not need this but client tools do.
export EC2_USER_ID='*******************************************'
alias ec2-bundle-image="ec2-bundle-image --cert ${EC2_CERT} --privatekey ${EC2_PRIVATE_KEY} --user
184246088710218379863889631924121501706 --ec2cert ${EUCALYPTUS_CERT}"
alias ec2-upload-bundle="ec2-upload-bundle -a ${EC2_ACCESS_KEY} -s ${EC2_SECRET_KEY} --url ${S3_URL} --ec2cert ${EUCALYPTUS_CERT}"
Для настройки Web-консоли понадобятся значения следующих переменных: $EC2_URL, $EC2_ACCESS_KEY, $EC2_SECRET_KEY, $EC2_USER_ID
- Через раздел "Regions" (Рисунок 4) необходимо указать имя и адрес контролера облака .В конфигурационном файле этот адрес указан в переменной $EC2_URL.
- Через раздел "Credentials" (Рисунок 5) необходимо указать параметры полномочий пользователя, которые хранятся в переменных $EC2_ACCESS_KEY и $EC2_SECRET_KEY.
- Через раздел "Accounts IDs" (Рисунок 6) необходимо указать уникальный ID пользователя, который хранятся в переменной $EC2_USER_ID
- Через раздел Tools (Рисунок 7) необходимо указать путь к директории, в которой установлен SSH клиент - Putty.
После установки параметров, Web-консоль соединиться с контролером облака и отобразит текущее состояние.
Управление облаком
Управление компонентами облака осуществляется через разные разделы Web-консоли.