Введение в FreeBSD в Azure

Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы

В этой статье представлен обзор запуска виртуальной машины FreeBSD в Azure.

Обзор

FreeBSD для Microsoft Azure — это расширенная операционная система, которая использовалась для управления мощными современными серверами, настольными компьютерами и внедренными платформами.

Корпорация Майкрософт предоставляет образы FreeBSD на платформе Azure с предварительно настроенным гостевым агентом виртуальной машины Azure. В настоящее время она предлагает образы FreeBSD следующих версий:

  • FreeBSD 10.4 в Azure Marketplace
  • FreeBSD 11.2 в Azure Marketplace
  • FreeBSD 11.3 в Azure Marketplace
  • FreeBSD 12.0 в Azure Marketplace

Следующие версии FreeBSD также включают Гостевой агент виртуальной машины Azure, однако они предоставляются в виде образов в FreeBSD Foundation:

  • FreeBSD 11.4 в Azure Marketplace
  • FreeBSD 12.2 в Azure Marketplace
  • FreeBSD 13.0 в Azure Marketplace

Этот агент отвечает за обмен данными между виртуальной машиной FreeBSD и Azure Fabric при таких операциях, как подготовка виртуальной машины к первому использованию (имя пользователя, пароль или ключ SSH, имя узла и т. д.) и выборочное включение функций расширений виртуальной машины.

Стратегия в отношении текущей и будущих версий FreeBSD — обеспечивать актуальность и предоставлять последние версии вскоре после их публикации командой технических специалистов по выпуску FreeBSD.

Создайте виртуальную машину FreeBSD с помощью Azure CLI в FreeBSD.

Сначала необходимо установить Azure CLI, выполнив следующую команду на компьютере FreeBSD.

curl -L https://aka.ms/InstallAzureCli | bash

Если на компьютере FreeBSD не установлена оболочка bash, выполните следующую команду перед установкой. 

sudo pkg install bash

Если на компьютере FreeBSD не установлен python, выполните следующие команды перед установкой. 

sudo pkg install python38
cd /usr/local/bin 
sudo rm /usr/local/bin/python 
sudo ln -s /usr/local/bin/python3.8 /usr/local/bin/python

Во время установки вам будет задан вопрос Modify profile to update your $PATH and enable shell/tab completion now? (Y/n). Если вы ответили y и указали /etc/rc.conf в качестве a path to an rc file to update, может возникнуть следующая ошибка: ERROR: [Errno 13] Permission denied. Чтобы устранить эту проблему, нужно предоставить текущему пользователю права на запись для файла etc/rc.conf.

Теперь можно выполнить вход в Azure и создать виртуальную машину FreeBSD. Ниже приведен пример создания виртуальной машины FreeBSD версии 11.0. Также можно добавить параметр --public-ip-address-dns-name с глобальным именем DNS для созданного общедоступного IP-адреса.

az login 
az group create --name myResourceGroup --location eastus
az vm create --name myFreeBSD11 \
    --resource-group myResourceGroup \
    --image MicrosoftOSTC:FreeBSD:11.0:latest \
    --admin-username azureuser \
    --generate-ssh-keys

Затем вы сможете выполнить вход в виртуальную машину FreeBSD с помощью IP-адреса, который приведен в выходных данных описанного выше развертывания.

ssh azureuser@xx.xx.xx.xx -i /etc/ssh/ssh_host_rsa_key

Расширения виртуальной машины для FreeBSD

Ниже приведены поддерживаемые во FreeBSD расширения виртуальной машины.

VMAccess

Возможности расширения VMAccess :

  • сброс пароля исходного пользователя sudo;
  • создание пользователя sudo с указанным паролем;
  • настройка заданного значения открытого ключа узла;
  • сброс открытого ключа узла, указанного во время подготовки виртуальной машины, если не указан ключ узла;
  • открытие порта SSH (22) и восстановление sshd_config, если для reset_ssh задано значение true;
  • удаление существующего пользователя;
  • проверка дисков;
  • восстановление добавленного диска.

CustomScript

Возможности расширения CustomScript :

  • скачивание предоставленных пользовательских сценариев из службы хранилища Azure или общедоступного внешнего хранилища (например, Github);
  • выполнение сценария точки входа;
  • поддержка встроенных команд;
  • автоматическое преобразование символа новой строки в стиле Windows в сценариях оболочки и Python;
  • автоматическое удаление спецификации в сценариях оболочки и Python;
  • защита конфиденциальных данных в commandToExecute.

Примечание

В настоящий момент виртуальная машина FreeBSD поддерживает только CustomScript версии 1.x.

Аутентификация: имена пользователей, пароли и ключи SSH

При создании виртуальной машины FreeBSD с помощью портала Azure необходимо указать имя пользователя, пароль или открытый ключ SSH. Имена пользователей для развертывания виртуальной машины FreeBSD в Azure не должны совпадать с именами системных учетных записей (UID <100), уже присутствующих в виртуальной машине (например, root). В настоящее время поддерживается только ключ SSH на основе RSA. Многострочный ключ SSH должен начинаться с ---- BEGIN SSH2 PUBLIC KEY ---- и заканчиваться ---- END SSH2 PUBLIC KEY ----.

Получение привилегий суперпользователя

Учетная запись пользователя, указанная во время развертывания экземпляра виртуальной машины в Azure, является привилегированной учетной записью. Пакет sudo установлен в опубликованном образе FreeBSD. После входа в систему с помощью этой учетной записи пользователя вы сможете выполнять команды от учетной записи root, используя соответствующий синтаксис команд.

$ sudo <COMMAND>

При необходимости можно получить доступ к оболочке root с помощью команды sudo -s.

Известные проблемы

Гостевой агент виртуальной машины Azure версии 2.2.2 имеет известную проблему, вызывающую сбой подготовки виртуальной машины FreeBSD в Azure. Ошибка исправлена в гостевом агенте виртуальной машины Azure версии 2.2.3 и более поздних выпусках.

Дальнейшие действия

  • Перейдите на сайт Azure Marketplace , чтобы создать виртуальную машину FreeBSD.