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

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

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

Обзор

FreeBSD для 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:

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

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

Что касается будущих версий FreeBSD, стратегия заключается в том, чтобы оставаться в курсе последних выпусков и сделать последние выпуски доступными вскоре после публикации командой разработчиков выпуска FreeBSD.

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

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

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

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

sudo pkg install bash

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

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 значение if.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.