Как создать каплю DigitalOcean из образа в формате Ubuntu ISO

Вступление

Функция DigitalOcean по адресу Custom Images позволяет переносить образы виртуальных дисков из локальной среды или другой облачной платформы в DigitalOcean и использовать их для запуска DigitalOcean. Капельки.

Как описано в Custom Images документации, следующие инструменты изображений изначально поддерживаются инструментом загрузки пользовательских изображений:

ISO - еще один популярный формат изображений, который вы можете использовать с пользовательскими изображениями. ISO-образы часто предоставляются дистрибутивами Linux в качестве удобного способа установки Linux. К сожалению, ISO-образы в настоящее время не поддерживаются инструментом загрузки, хотя поддержка запланирована на конец 2018 года.

В этом руководстве мы покажем, как использовать бесплатный инструмент виртуализации VirtualBox с открытым исходным кодом для создания совместимого с DigitalOcean образа VDI (образа диска VirtualBox) из Ubuntu 18.04 ISO. , Шаги в этом руководстве могут быть адаптированы для работы с ISO-образами вашего предпочтительного дистрибутива.

Предпосылки

Прежде чем начать, вам потребуется следующее:

  • Локальный компьютер или удаленный сервер (с доступом через графический интерфейс), на который вы будете устанавливать и использовать VirtualBox. В этом руководстве мы будем использовать локальную машину Mac OS X, но вы можете использовать любую систему, поддерживаемую VirtualBox. Чтобы узнать больше о поддерживаемых системах, обратитесь к VirtualBox Manual. Параметры меню GUI должны быть одинаковыми в разных операционных системах, но могут не совпадать.

  • ISO-формат Ubuntu 18.04 Образ операционной системы сервера. Образ + ubuntu-18.04.1-live-server-amd64.iso + соответствует двум требованиям, перечисленным в пользовательских изображениях https://www.digitalocean.com/docs/images/custom-images/overview/#image- требования [Image Requirements]:

  • Ваше изображение должно поддерживать файловые системы ext3 или ext4

  • В вашем образе должны быть установлены + cloud-init + 0.7.7, + cloudbase-init +, + coreos-cloudinit +, + iginition + или + bsd-cloudinit + (Ubuntu 18.04 Server поставляется с `+ cloud -init + `установлен)

Если вы адаптируете эти шаги для ISO другого дистрибутива, а в вашем образе не установлено и не настроено «+ cloud-init +», вы должны установить и настроить его вручную после установки ОС.

Если у вас есть эти предварительные условия, вы готовы начать с этого руководства.

Шаг 1 - Установка VirtualBox и создание виртуальной машины

Инструмент, который мы будем использовать для преобразования образа в формате ISO в этом руководстве, - это VirtualBox, бесплатный виртуализатор с открытым исходным кодом для оборудования x86. По умолчанию VirtualBox использует графический интерфейс, который мы будем использовать для создания образа VDI в этом руководстве.

Для начала загрузите и установите VirtualBox со страницы downloads. Перейдите по соответствующей ссылке в разделе * Пакеты платформы VirtualBox 5.2.20 * в зависимости от операционной системы вашего хоста. В этом руководстве мы будем использовать систему OSX, поэтому мы будем загружать и устанавливать VirtualBox, используя предоставленную DMG.

После установки VirtualBox откройте приложение.

Вы должны увидеть следующий экран приветствия:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/vbox_welcome.png [Экран приветствия VirtualBox]

Нажмите * New *, чтобы начать создание виртуальной машины Ubuntu.

Следующее окно должно появиться, позволяя вам назвать вашу виртуальную машину (ВМ) и выбрать ее ОС:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/name_os.png [Окно виртуальной машины имени]

В этом уроке мы назовем нашу виртуальную машину + Ubuntu 18.04 +, но не стесняйтесь дать ей более информативное имя.

Для * Type * выберите * Linux *, а для * Version * выберите * Ubuntu (64-bit) *. Затем нажмите * Продолжить *.

Должен появиться следующий экран, позволяющий вам указать объем памяти, выделяемый вашей виртуальной машине:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/memory.png [Окно выделения памяти]

Если у вас нет более сложного варианта использования, 1024 МБ должно быть достаточно памяти для вашей виртуальной машины. Если вам нужно настроить размер памяти, введите объем памяти, который будет выделен для виртуальной машины, а затем нажмите * Продолжить *.

Вы должны увидеть следующий экран:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/hard_disk.png [Окно создания жесткого диска]

Это окно позволяет вам создать виртуальный жесткий диск для вашей виртуальной машины. Этот виртуальный жесткий диск - это образ, который вы загрузите в DigitalOcean позже. Операционная система Ubuntu будет установлена ​​с ISO-образа, который вы скачали на этот виртуальный жесткий диск. Убедитесь, что * Создать виртуальный жесткий диск * выбран, и нажмите * Создать *.

Должно появиться следующее окно * Тип файла жесткого диска *, позволяющее выбрать формат, который вы хотите использовать для своего изображения:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/hard_disk_type.png [Окно выбора типа жесткого диска]

Все три типа поддерживаются пользовательскими образами DigitalOcean, поэтому, если у вас нет особых предпочтений, выберите * VDI (образ диска VirtualBox) *. Нажмите * Продолжить *.

Вы должны увидеть следующее окно:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/storage_option.png [Параметры жесткого диска]

Это окно позволяет вам выбрать между * Динамически размещенным * или * Фиксированным размером * файлом жесткого диска. Мы будем использовать стандартную * Динамически распределенную * опцию и позволим файлу расти при установке ОС и пакетов Ubuntu. Нажмите * Продолжить *.

Следующее окно позволяет вам назвать файл вашего жесткого диска (а также выбрать путь, по которому он будет сохранен) и указать его максимальный размер:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/disk_file.png [Размер жесткого диска]

Обязательно выделите себе достаточно места на диске для установки операционной системы, а также дополнительных пакетов, которые могут вам понадобиться. Стандартные 10 ГБ должны подойти для большинства целей, но если вы планируете установить большое количество пакетов или хранить много данных в образе, вам следует увеличить это до предполагаемого использования диска.

Как только вы выбрали размер виртуального жесткого диска, нажмите * Создать *.

На этом этапе вы вернетесь к начальному экрану приветствия, где увидите виртуальную машину, которую вы только что создали:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/vm_start.png [Экран приветствия виртуальной машины]

Теперь мы можем начать установку Ubuntu на виртуальную машину.

Шаг 2 - Установка Ubuntu 18.04 на виртуальную машину

На этом этапе мы установим и настроим операционную систему Ubuntu на нашу виртуальную машину.

Для начала на экране приветствия VirtualBox выберите свою виртуальную машину и нажмите кнопку * Пуск * на панели инструментов.

Вы должны увидеть следующее окно виртуальной машины, предлагающее выбрать файл ISO, из которого вы будете загружать систему:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/vm_install.png [Выбрать ISO]

Выберите загруженный ISO-образ сервера Ubuntu 18.04 и нажмите * Пуск *.

На виртуальной машине установщик Ubuntu начнет загрузку с ISO, и вы должны перейти в следующее меню:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/ubuntu_language.png [Ubuntu Select Language]

Выберите предпочитаемый язык с помощью клавиш со стрелками и нажмите + ENTER, чтобы продолжить.

Затем вы должны увидеть следующий экран * Настройка клавиатуры *:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/keyboard.png [Конфигурация клавиатуры Ubuntu]

Выберите предпочитаемую конфигурацию клавиатуры, выберите * Готово * и нажмите + ENTER +.

Далее вы попадете на следующий экран выбора установщика:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/ubuntu_install.png [Выбор установщика Ubuntu]

Выберите * Install Ubuntu * и нажмите + ENTER +.

Должен появиться следующий экран * Сетевые подключения *:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/network_connections.png [Сетевые подключения Ubuntu]

Этот экран позволяет вам настроить сетевые интерфейсы для вашего сервера Ubuntu. Поскольку мы выполняем установку на виртуальной машине, мы просто используем опцию по умолчанию, так как настроенный интерфейс будет перезаписан при запуске образа на платформе DigitalOcean.

Выберите * Готово * и нажмите + ENTER +.

После этого вы попадете на следующий экран * Настройка прокси *:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/configure_proxy.png [Ubuntu Configure Proxy]

Если вам нужен прокси, введите его здесь. Затем выберите * Готово * и нажмите + ENTER +.

Следующий экран позволит вам выбрать архивное зеркало Ubuntu:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/ubuntu_mirror.png [Ubuntu Archive Mirror]

Если вам не требуется конкретное зеркало, по умолчанию здесь должно быть хорошо. Выберите * Готово * и нажмите + ENTER +.

Далее вам будет предложено разделить ваш виртуальный диск:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/partition.png [Диск раздела Ubuntu]

Если вы не хотите настраивать Logical Volume Manager (LVM) или вручную разбивать виртуальный диск, выберите * Использовать весь диск *, чтобы использовать весь подключите виртуальный диск и нажмите + ENTER +.

Следующий экран позволяет вам выбрать виртуальный диск, который будет разбит на разделы:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/filesystem_setup.png [Настройка файловой системы Ubuntu]

Как описано в тексте приглашения, программа установки создаст раздел для загрузчика и использует оставшееся пространство на виртуальном диске для создания раздела «+ ext4 +», на который будет установлена ​​ОС Ubuntu.

Выберите подключенный виртуальный диск и нажмите + ENTER +.

На следующем экране отображается сводная информация о параметрах установщика файловой системы перед разбиением:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/filesystem_summary.png [Обзор файловой системы Ubuntu]

Раздел + ext4 + будет смонтирован в + / +, и будет создан второй раздел (1 МБ) для загрузчика GRUB. После того, как вы прошли и подтвердили схему разметки для вашего виртуального диска, выберите * Готово * и нажмите + ENTER +.

На появившемся экране подтверждения выберите * Продолжить * и нажмите + ENTER +.

Следующий экран позволит вам настроить имя хоста системы, а также пользователя Ubuntu:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/profile_setup.png [Ubuntu Создать пользователя]

Обратите внимание, что при заполнении этого экрана программа установки продолжит копирование файлов на виртуальный диск в фоновом режиме.

В этом руководстве мы создадим пользователя с именем * sammy * и назовем наш сервер * ubuntu *. Имя сервера, вероятно, будет перезаписано при запуске этого образа на платформе DigitalOcean, поэтому не стесняйтесь давать ему временное имя здесь.

Вы можете загрузить свои ключи SSH в DigitalOcean и автоматически встраивать их в созданные капли, поэтому пока мы не будем * импортировать идентификатор SSH *. Чтобы узнать, как загрузить ваши ключи SSH в DigitalOcean, обратитесь к Droplet Документация по продукту.

После того как вы заполните все обязательные поля, приглашение должно выглядеть примерно так:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/profile_setup_complete.png [Профиль Ubuntu завершен]

Выберите * Готово * и нажмите + ENTER +.

На следующем экране вам будет предложено выбрать популярные снимки для вашего сервера Ubuntu. Снимки - это предварительно упакованные пакеты программного обеспечения, которые содержат приложение, его зависимости и конфигурацию. Чтобы узнать больше о снимках, обратитесь к Snap Документация.

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/ubuntu_snaps.png [Ubuntu Select Snaps]

В этом руководстве мы не будем устанавливать никаких снимков и вручную установим пакеты на более позднем этапе. Если вы хотите установить снимок, выберите или отмените его выбор с помощью + SPACE + и прокрутите вниз до * Done *. Затем нажмите + ENTER.

Независимо от вашего выбора на экране оснастки, вы попадете на экран процесса установки и сводки:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/install_progress.png [прогресс установки Ubuntu]

После завершения установки выберите * Перезагрузить сейчас * и нажмите + ENTER.

Программа установки завершит работу и предложит вам удалить установочный носитель (в данном случае это ISO-образ, который мы выбрали ранее). В большинстве случаев ISO будет отключен автоматически после перезагрузки, поэтому вы можете просто нажать + ENTER +.

Чтобы проверить дважды, в меню VirtualBox GUI перейдите к * Устройства *, а затем * Оптические приводы *. Если вам доступна опция * Удалить диск из виртуального диска *, нажмите на нее, чтобы отсоединить ISO-образ от виртуальной машины. Затем, вернувшись в окно виртуальной машины, нажмите + ENTER.

Система перезагрузится на виртуальной машине, на этот раз с виртуального диска, на который мы установили Ubuntu.

Поскольку + cloud-init + по умолчанию установлен на сервере Ubuntu 18.04, при первой загрузке Ubuntu + cloud-init + запустится и настроится самостоятельно. В окне виртуальной машины вы должны увидеть некоторые элементы журнала + cloud-init и получить доступную подсказку. Нажмите + ENTER.

Затем вы можете войти на сервер Ubuntu, используя пользователя, которого вы создали в программе установки.

Введите свое имя пользователя и нажмите + ENTER +, затем введите свой пароль и нажмите + ENTER +.

Теперь у вас должен быть доступ к командной строке, указывающей, что вы успешно завершили установку Ubuntu 18.04 и теперь вошли в систему как пользователь, которого вы создали ранее.

На следующем шаге этого руководства мы перенастроим + cloud-init + и настроим его на запуск при запуске образа Ubuntu в виде капли на платформе DigitalOcean.

Шаг 3 - Настройте + cloud-init

Теперь, когда мы установили Ubuntu 18.04 на виртуальный диск и настроили и запустили систему, нам нужно перенастроить «+ cloud-init », чтобы использовать соответствующий источник данных для платформы DigitalOcean. Источник данных ` cloud-init ` - это источник данных конфигурации для ` cloud-init `, который обычно состоит из пользовательских данных (например, сценариев оболочки) или метаданных сервера, таких как имя хоста, идентификатор экземпляра и т. Д. Чтобы узнать больше об источниках данных ` cloud-init `, обратитесь к https://cloudinit.readthedocs.io/en/latest/topics/datasources.html[official ` cloud-init +` docs].

По умолчанию в Ubuntu 18.04 + cloud-init + настраивается на использование источника данных + DataSourceNoCloud +. Это вызовет проблемы при запуске образа в DigitalOcean, поэтому нам нужно перенастроить + cloud-init + для использования источника данных + ConfigDrive + и обеспечить повторный запуск + cloud-init + при запуске образа в DigitalOcean.

Для начала убедитесь, что вы запустили свою виртуальную машину Ubuntu 18.04 и вошли в систему как пользователь, которого вы создали ранее.

Из командной строки перейдите в каталог + / etc / cloud / cloud.cfg.d +:

cd /etc/cloud/cloud.cfg.d

Используйте команду + ls + для вывода списка конфигурационных файлов + cloud-init +, присутствующих в каталоге:

ls
Output05_logging.cfg  50-curtin-networking.cfg  90_dpkg.cfg  curtin-preserve-sources.cfg  README

Сначала удалите файл + 50-curtin-network.cfg +, который настраивает сетевые интерфейсы для вашего сервера Ubuntu. Когда образ запускается в DigitalOcean, + cloud-init + запустится и автоматически перенастроит эти интерфейсы. Если этот файл не будет удален, созданная из этого образа Ubuntu дроплета DigitalOcean будет иметь неправильно настроенные интерфейсы и не будет доступна из Интернета.

sudo rm 50-curtin-networking.cfg

Далее мы запустим + dpkg -configure cloud-init +, чтобы удалить источник данных + NoCloud +, гарантируя, что + cloud-init + ищет и находит источник данных + ConfigDrive +, используемый в DigitalOcean:

sudo dpkg-reconfigure cloud-init

Вы должны увидеть следующее графическое меню:

изображение: https: //assets.digitalocean.com/articles/iso_custom_images/cloud_init.png [Cloud Init dpkg Menu]

Источник данных + NoCloud + изначально выделен. Нажмите + SPACE, чтобы отменить выбор, затем нажмите` + ENTER`.

Наконец, перейдите к + / etc / netplan +:

cd /etc/netplan

Удалите файл + 50-cloud-init.yaml + (он был сгенерирован из сетевого файла + cloud-init +, который мы удалили ранее):

sudo rm 50-cloud-init.yaml

Последний шаг заключается в том, чтобы мы очистили конфигурацию от начального запуска + cloud-init +, чтобы она перезапускалась при запуске образа в DigitalOcean.

Для этого запустите + cloud-init clean +:

sudo cloud-init clean

На этом этапе ваше изображение готово к запуску на платформе DigitalOcean. Вы можете установить дополнительные пакеты и программное обеспечение в свой образ. Когда вы закончите, выключите вашу виртуальную машину:

sudo shutdown -h now

Теперь мы можем перейти к загрузке и запуску этого пользовательского изображения на платформе DigitalOcean.

Шаг 4 - Загрузка пользовательского изображения и создание капли

Теперь, когда мы создали образ VDI Ubuntu 18.04 и настроили его для использования в DigitalOcean, мы можем загрузить его с помощью пользовательских изображений upload tool .

В macOS образ виртуального диска Ubuntu, который мы создали и настроили, будет расположен по умолчанию в + ~ / VirtualBox VMs //. Vdi +. Этот путь может немного отличаться в зависимости от операционной системы, которую вы используете с VirtualBox.

Прежде чем загрузить изображение, мы сжимаем его, чтобы ускорить передачу файла в DigitalOcean.

В операционной системе вашего хоста (не внутри виртуальной машины) перейдите в каталог, содержащий ваш файл образа VDI:

cd ~/VirtualBox\ VMs//

Теперь используйте + gzip + для сжатия файла:

gzip <  > .gz

В этой команде мы передаем исходный файл + Ubuntu 18.04.vdi + в + gzip +, указывая в качестве выходного файла сжатый файл + Ubuntu 18.04.gz +.

Как только + gzip + закончит сжатие вашего файла, загрузите файл + .gz + в DigitalOcean, следуя инструкциям в Custom Images Quickstart ,

Теперь вы сможете создавать и использовать капли из своего собственного образа сервера Ubuntu 18.04.

Заключение

В этом руководстве мы узнали, как создать собственный образ VDI из стандартного ISO-образа Ubuntu 18.04 с помощью инструмента виртуализации VirtualBox. Мы настроили + cloud-init +, чтобы он мог правильно настроить сеть Droplet в DigitalOcean, и, наконец, сжали и загрузили изображение с помощью инструмента загрузки пользовательских изображений.

Вы можете настроить шаги, описанные в этом руководстве, для работы с предпочитаемыми ISO-образами дистрибутива Linux. Убедитесь, что у вас установлен и настроен сервер SSH для запуска при загрузке, и что + cloud-init + установлен и правильно настроен для использования источника данных + ConfigDrive +. Наконец, убедитесь, что все устаревшие файлы конфигурации сети были удалены.

Вы также можете использовать такой инструмент, как Packer, чтобы автоматизировать создание образов вашей машины.

Чтобы узнать больше о пользовательских изображениях DigitalOcean, обратитесь к пользовательским изображениям product docs и запустите https://blog.digitalocean.com/custom-images/ [Сообщение блога].

Related