Поделиться через


Добавление образов 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.

Минимальный поддерживаемый агент 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 для 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.

Следующие шаги