Обновление ОС Windows Azure VMSS Linux
Я смотрел на https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade и смотрел, можем ли мы изменить наш VMSS (в настоящее время использующий режим политики обновления вручную) до автоматического обновляемого обновления, но обнаружил, что зонд работоспособности приложения не может использовать наш существующий зонд работоспособности шлюза приложений, так как он должен был быть именно LoadBalancer. Облом.
В любом случае, я подумал, что протестирую нашу VMSS, чтобы убедиться, что мы можем вручную обновить каждый экземпляр с портала /CLI, но намеренно выбрал старый идентификатор изображения 16.04 LTS (вместо тега "последней" версии). От "az vm image list --location canadacentral --publisher Canonical --offer UbuntuServer --SKU 16.04-LTS --all --output table
"Я выбрал первое изображение 16.04, опубликованное в 2018 году, т. Е. 16.04.201801050. Последнее -"16.04.201811140".
? Microsoft.Compute / virtualMachineScaleSets / кластер апи-версия =2018-06-01:
"properties": {
"singlePlacementGroup": false,
"upgradePolicy": {
"mode": "Manual",
"automaticOSUpgrade": false
},
...
"imageReference": {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "16.04.201801050"
},
Я могу подтвердить, что каждый новый экземпляр VMSS действительно имеет желаемое изображение "16.04.201801050" по SSH на коробке (с большим количеством обновлений для применения):
```
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.11.0-1016-azure x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
202 packages can be updated.
118 updates are security updates.
jiraadmin@jiranode-000001:~$ apt list linux-image-azure
Listing... Done
linux-image-azure/xenial-updates,xenial-security 4.15.0.1032.37 amd64 [upgradable from: 4.11.0.1016.16]
N: There is 1 additional version. Please use the '-a' switch to see it
```
но я был удивлен, увидев, что в Portal и REST API для каждого экземпляра с примененной последней моделью установлено значение true (что явно не так)
Microsoft.Compute / virtualMachineScaleSets / кластер /virtualMachines/0 апи-версия =2018-06-01:
"properties": {
"latestModelApplied": true,
"vmId": "...",
"hardwareProfile": {},
"storageProfile": {
"imageReference": {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "16.04.201801050"
}
Нажатие на кнопку "Обновить" для экземпляра виртуальной машины на портале Azure запускает очень недолгую задачу без изменений в базовой виртуальной машине.
Итак, я предположил следующее:
- При указании более старой версии образа перед "последней" необходимо установить для параметра lastModelApplied экземпляра VMSS значение false.
- Нажатие на кнопку Upgrade от Poisal должно привести "старую" версию образа к "последней" версии образа, т.е. выполнить "sudo apt-get upgrade" или "sudo apt dist-upgrade". С latestModelApplied в false, это тоже не работает.
- Нажав на Reimage на портале, вы получите предупреждение о том, что экземпляр возвращается в исходное состояние, но по https://docs.microsoft.com/en-us/rest/api/compute/virtualmachinescalesets/reimage он предлагает обновить его. Образ ОС т.е.
sudo apt dist-upgrade
, Это делает первое, это переустанавливает исходное изображение, сдувая все.
Таким образом, как минимум, мне кажется, что вы не можете использовать Портал для поддержания обновлений ОС и безопасности на работающей в данный момент ВМ из-за ошибочного свойства latestModelApplied. Правильно ли поведение и мои предположения выше?
Спасибо, Стивен.
1 ответ
Парень из MS разобрался с моими (неверными) предположениями по адресу https://github.com/Azure/vm-scale-sets/issues/62.