The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Использование cloud-init для запуск..."
Отправлено auto_tips, 05-Янв-11 05:16 
В состав адаптированных для установки в cloud-окружениях сборок Ubuntu 10.10 (UEC) был интегрирован [[https://help.ubuntu.com/community/CloudInit cloud-init]], конфигурируемый процесс инициализации, позволяющий унифицировать процесс задания конфигурации во время загрузки, например, указать локаль, имя хоста, SSH-ключи и точки монтирования.

Ниже представлен скрипт по установке и преднастройке UEC-сборки в виде гостевой системы, работающей под управлением локального гипервизора KVM.

# Загружаем свежую сборку UEC с http://uec-images.ubuntu.com,
# например, стабильный выпуск Ubuntu 10.10 (http://uec-images.ubuntu.com/maverick/current/)
# или тестовую версию Ubuntu 11.04 (http://uec-images.ubuntu.com/natty/current/).

   uecnattyservercurrent=http://uec-images.ubuntu.com/server/natty/current/natty-serv...

# Распаковываем img-образ и устанавливаем несколько переменных, указываем
# на ядро и базовые директории:

   tarball=$(basename $uecnattyservercurrent)
   [ -f ${tarball} ] || wget ${uecnattyservercurrent}
   contents=${tarball}.contents
   tar -Sxvzf ${tarball} | tee "${contents}"
   cat natty-server-uec-i386.tar.gz.contents
   base=$(sed -n 's/.img$//p' "${contents}")
   kernel=$(echo ${base}-vmlinuz-*)
   floppy=${base}-floppy
   img=${base}.img

# Преобразуем образ UEC в формат qcow2, для запуска под управлением KVM:

   qemu-img create -f qcow2 -b ${img} disk.img

# Подготавливаем набор мета-данных (файлы meta-data и user-data) для
# автоматизации настройки гостевой системы, примеры можно посмотреть [[http://smoser.brickies.net/ubuntu/uec-seed/ здесь]]

# Запускаем простейший HTTP-сервер для отдачи файлов с мета-данными
# Сервер будет запущен на 8000 порту и будет отдавать файлы meta-data
# и user-data из текущей директории, которые следует модифицировать в зависимости
# от текущих предпочтений (можно прописать команды по установке дополнительных пакетов,
# запустить любые команды, подключить точки монтирования и т.п.)

   python -m SimpleHTTPServer &
   websrvpid=$!

# Запускаем гостевую систему под управлением KVM, базовый URL для загрузки
# мета-данных передаем через опцию "s=":

   kvm -drive file=disk.img,if=virtio,boot=on -kernel "${kernel}" \
      -append "ro init=/usr/lib/cloud-init/uncloud-init root=/dev/vda ds=nocloud-net;s=http://192.168.122.1:8000/ ubuntu-pass=ubuntu"

# Завершаем выполнение http-сервера, используемого для отдачи мета-данных.
   kill $websrvpid

Пример файла user-data:

   #cloud-config
   #apt_update: false
   #apt_upgrade: true
   #packages: [ bzr, pastebinit, ubuntu-dev-tools, ccache, bzr-builddeb, vim-nox, git-core, lftp ]

   apt_sources:
    - source: ppa:smoser/ppa

   disable_root: True

   mounts:
    - [ ephemeral0, None ]
    - [ swap, None ]

   ssh_import_id: [smoser ]

   sm_misc:
    - &user_setup |
      set -x; exec > ~/user_setup.log 2>&1
      echo "starting at $(date -R)"
      echo "set -o vi" >> ~/.bashrc
      cat >> ~/.profile <<EOF
      export EDITOR=vi
      EOF

   runcmd:
    - [ sudo, -Hu, ubuntu, sh, -c, 'grep "cloud-init.*running"  /var/log/cloud-init.log > ~/runcmd.log' ]
    - [ sudo, -Hu, ubuntu, sh, -c, 'read up sleep < /proc/uptime; echo $(date): runcmd up at $up | tee -a ~/runcmd.log' ]
    - [ sudo, -Hu, ubuntu, sh, -c, *user_setup ]

Пример файла meta-data

   #ami-id: ami-fd4aa494
   #ami-launch-index: '0'
   #ami-manifest-path: ubuntu-images-us/ubuntu-lucid-10.04-amd64-server-20100427.1.manifest.xml
   #block-device-mapping: {ami: sda1, ephemeral0: sdb, ephemeral1: sdc, root: /dev/sda1}
   hostname: smoser-sys
   #instance-action: none
   instance-id: i-87018aed
   instance-type: m1.large
   #kernel-id: aki-c8b258a1
   local-hostname: smoser-sys.mosers.us
   #local-ipv4: 10.223.26.178
   #placement: {availability-zone: us-east-1d}
   #public-hostname: ec2-184-72-174-120.compute-1.amazonaws.com
   #public-ipv4: 184.72.174.120
   #public-keys:
   #  ec2-keypair.us-east-1: [ssh-rsa AAAA.....
   #      ec2-keypair.us-east-1, '']
   #reservation-id: r-e2225889
   #security-groups: default


URL: http://www.ubuntu.com/content/ahmed-kamal-cloud-instance-clo... https://help.ubuntu.com/community/UEC/Images
Обсуждается: http://www.opennet.ru/tips/info/2511.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру