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

Внимание!

В этой статье содержится ссылка на CentOS, дистрибутив Linux, который находится на грани окончания срока службы (EOL). Пожалуйста, рассмотрите использование и спланируйте соответствующим образом. Дополнительные сведения см. в руководстве по окончании жизненного циклов CentOS.

Вы можете развернуть виртуальные машины 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

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

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