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

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

Управление Marketplace

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

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

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

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

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

Чтобы получить поддержку агента и расширений 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, доступный для виртуальной машины Azure Stack Hub в Linux.

В настоящее время использование 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.

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