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

Виртуальные машины Linux можно развернуть в Azure Stack Hub, добавив образ под управлением Linux в Azure Stack Hub Marketplace. Самый простой способ добавить образ Linux в Azure Stack Hub — это управление Marketplace. Эти образы подготовлены и протестированы для совместимости с Azure Stack Hub.

Управление маркетплейсом

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

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

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

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

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

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

По состоянию на июль 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, доступную виртуальной машине Linux Azure Stack Hub.

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

Вы можете следовать краткому руководству : "Создание виртуальной машины сервера Linux с помощью PowerShell в Azure Stack Hub", чтобы создать виртуальную машину 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.

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