Добавление образов 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 с помощью следующих инструкций.
- Подготовка виртуальной машины на основе CentOS для Azure
- Подготовка виртуального жесткого диска Debian для Azure
- Red Hat Enterprise Linux
- Подготовка виртуальной машины SLES или openSUSE для Azure
- Сервер Ubuntu
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.
Дальнейшие действия
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по