Развёртывание Fedora CoreOS на Vultr

В этом руководстве показано, как развернуть новые узлы Fedora CoreOS (FCOS) на Vultr. Vultr публикует образы FCOS, но они устарели, поэтому мы не рекомендуем использовать стандартные образы Vultr. Вместо этого актуальный выпуск FCOS можно загрузить как пользовательский образ.

Предварительные требования

Fedora CoreOS supports configuring access via SSH keys using Afterburn on this platform. Once you have configured your SSH Key in the platform configuration, you can provision and access Fedora CoreOS instances with the default user core, without using an Ignition config.

We recommend using an Ignition config once you are more familiar with Fedora CoreOS and want to automate the deployment of systems.

Вам потребуется доступ к учётной записи Vultr. В примерах ниже используются инструменты командной строки vultr-cli и s3cmd. Оба инструмента доступны в Fedora и устанавливаются командой sudo dnf install vultr-cli s3cmd.

Использование пользовательского снимка

Vultr поддерживает создание пользовательских снимков из публичных образов в формате raw.

Эти шаги показывают, как скачать образ FCOS и загрузить его в существующее хранилище (bucket), чтобы создать из него снимок.

Дополнительные сведения о создании хранилища и настройке s3cmd для работы с ним см. в документации Vultr.

Создание снимка

Fedora CoreOS поставляется в трёх потоках с разными графиками обновлений. В этих шагах в качестве примера используется поток stable, но их можно применять и к другим потокам.

  1. Получите последний образ, подходящий для вашего целевого потока (или загрузите и проверьте его из Интернета).

    STREAM='stable'
    coreos-installer download -s $STREAM -p vultr -f raw.xz --decompress
  2. Загрузите с помощью s3cmd образ raw в ваше хранилище и запомните его публичный URL.

    BUCKET='my-bucket'
    FCOS_VERSION='...'
    s3cmd put --acl-public "fedora-coreos-${FCOS_VERSION}-vultr.x86_64.raw" "s3://${BUCKET}/"
  3. Создайте снимок из URL объекта и запомните его идентификатор.

    IMAGE_URL='https://...'
    VULTR_API_KEY='<token>'
    vultr-cli snapshot create-url -u "${IMAGE_URL}"
Прежде чем использовать снимок, нужно дождаться завершения его обработки. Следите за этим с помощью vultr-cli snapshot list.

Запуск экземпляра из снимка

Теперь можно создать экземпляр FCOS на Vultr, используя указанный выше ID снимка.

В этом примере создаётся экземпляр с 2 vCPU и 4 ГБ ОЗУ под именем instance1 в регионе Нью-Джерси. Для других вариантов используйте vultr-cli regions list и vultr-cli plans list.

NAME='instance1'
SNAPSHOT_ID='...'
REGION='ewr'
PLAN='vc2-2c-4gb'
vultr-cli instance create --region "${REGION}" --plan "${PLAN}" \
  --snapshot "${SNAPSHOT_ID}" --label "${NAME}" --host "${NAME}" \
  --userdata "$(cat example.ign)"
Хотя в документации Vultr упоминаются cloud-init и скрипты, FCOS не поддерживает cloud-init и возможность запускать скрипты из user-data. Он принимает только конфигурационные файлы Ignition.
Узнать назначенный экземпляру IP-адрес можно с помощью команды vultr-cli instance list.

Теперь вы должны иметь возможность подключиться к экземпляру по SSH, используя связанный IP-адрес.

Пример подключения
ssh core@<ip address>