Добавление образов Linux в Azure Stack Hub Marketplace

Виртуальные машины Linux можно развернуть в центре Azure Stack, добавив образ на основе Linux в центр Azure Stack. Проще всего добавить образ Linux в Azure Stack Hub с помощью функции управления Marketplace. Эти образы были подготовлены и протестированы на совместимость с Azure Stack Hub.

Управление Marketplace

Сведения о том, как скачать образы Linux из Azure Marketplace, см. в статье Скачивание элементов Marketplace в Azure Stack Hub. Выберите образы Linux, которые вы хотите предложить пользователям в Azure Stack Hub.

Эти образы часто обновляются, поэтому регулярно проверяйте их.

Подготовка собственного образа

По возможности скачивайте образы, доступные в разделе управления Marketplace. Эти образы были подготовлены и протестированы с помощью центра Azure Stack.

Минимальный поддерживаемый агент Linux для Azure

Чтобы получить поддержку для агента и расширений Azure Linux в центре Azure Stack, версия агента Linux на виртуальной машине Linux должна быть позже или равна версии 2.2.10, а центр Azure Stack должен запустить сборку в двух выпусках текущего выпуска. Дополнительные сведения об обновлениях центра Azure Stack см. в разделе заметки о выпуске центра Azure Stack.

По состоянию на июль 2020, минимальная поддерживаемая версия — 2.2.41 для агента Linux. Если версия агента Linux более ранняя, чем версия 2.2.10, необходимо обновить виртуальную машину с помощью диспетчера пакетов распространения и включить автоматическое обновление.

  • Если у поставщика распространения нет минимальной версии агента Linux в репозиториях пакетов, система по-прежнему будет поддерживаться. Если версия агента Linux более поздняя, чем версия 2.1.7, необходимо включить функцию автоматического обновления агента. Будет извлечена последняя версия кода для обработки расширения.
  • Если версия агента Linux более ранняя, чем версия 2.2.10, или если система Linux не поддерживается, то перед получением поддержки может потребоваться обновить агент.
  • Если версия агента Linux настроена издателем, корпорация Майкрософт может направить вас на издатель для поддержки агента или поддержки конкретного расширения в связи с настройкой. Сведения об обновлении агента Linux см. в статье обновление агента Linux для Azure на виртуальной машине.

Проверка версии агента Linux

Чтобы проверить версию агента Linux, выполните:

waagent --version

Например, если вы используете эту команду в Ubuntu 18,04, вы увидите следующие выходные данные:

WALinuxAgent - 2.2.45
Python - 3.6.9
Goal State Agent - 2.2.48.1

Дополнительные сведения об агенте см. в разделе часто задаваемые вопросы по WALinuxAgent.

Подготовка собственного образа Linux

Можно подготовить свой собственный образ Linux с помощью следующих инструкций.

Cloud-init

Вы можете использовать Cloud-init для настройки виртуальной машины Linux, используя следующие инструкции PowerShell.

Шаг 1. Создание файла cloud-init.txt с облачной конфигурацией

Создайте файл cloud-init.txt и вставьте в него приведенную ниже облачную конфигурацию:

#cloud-config
package_upgrade: true
packages:
  - nginx
  - nodejs
  - npm
write_files:
  - owner: www-data:www-data
    path: /etc/nginx/sites-available/default
    content: |
      server {
        listen 80;
        location / {
          proxy_pass http://localhost:3000;
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection keep-alive;
          proxy_set_header Host $host;
          proxy_cache_bypass $http_upgrade;
        }
      }
  - owner: azureuser:azureuser
    path: /home/azureuser/myapp/index.js
    content: |
      var express = require('express')
      var app = express()
      var os = require('os');
      app.get('/', function (req, res) {
        res.send('Hello World from host ' + os.hostname() + '!')
      })
      app.listen(3000, function () {
        console.log('Hello world app listening on port 3000!')
      })
runcmd:
  - service nginx restart
  - cd "/home/azureuser/myapp"
  - npm init
  - npm install express -y
  - nodejs index.js

Шаг 2. Добавление ссылки на cloud-init.txt во время развертывания виртуальной машины Linux

Отправьте файл в учетную запись хранения Azure, учетную запись хранения Azure Stack Hub или репозиторий GitHub, доступный для виртуальной машины Azure Stack Hub в Linux.

В настоящее время использование Cloud-init для развертывания виртуальных машин поддерживается только для остальных, PowerShell и Azure CLI и не имеет связанного пользовательского интерфейса портала в центре Azure Stack.

Вы можете выполнить инструкции из краткого руководства по созданию виртуальной машины сервера Linux с помощью PowerShell в центре Azure Stack , чтобы создать виртуальную машину Linux с помощью PowerShell. Обязательно сослаться cloud-init.txt на компонент как часть -CustomData флага:

$VirtualMachine =Set-AzVMOperatingSystem -VM $VirtualMachine `
  -Linux `
  -ComputerName "MainComputer" `
  -Credential $cred -CustomData "#include https://cloudinitstrg.blob.core.windows.net/strg/cloud-init.txt"

Добавление образа в Marketplace

Следуйте указаниям по добавлению образа в marketplace. Убедитесь, что для параметра OSType задано значение Linux.

После добавления образа в Marketplace создается элемент Marketplace, и пользователи могут развернуть виртуальную машину Linux.

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