我当时正在查看https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-upgrade,看是否可以将VMSS(当前使用手动升级策略模式)更改为自动滚动更新,但是发现应用程序运行状况探针无法使用我们现有的App Gateway健康探针,因为它需要专门用作LoadBalancer。闷闷不乐。
无论如何,我想我要测试一下我们的VMSS,以确保我们可以从Portal / CLI手动升级每个实例,但是故意选择一个旧的16.04 LTS映像ID(而不是“最新”版本标签)。我从“ az vm image list --location canadacentral --publisher Canonical --offer UbuntuServer --SKU 16.04-LTS --all --output table
中选择了2018年发布的第一张16.04图像,即16.04.201801050。最新的是“ 16.04.201811140”
Microsoft.Compute / virtualMachineScaleSets / cluster?api-version = 2018-06-01:
"properties": {
"singlePlacementGroup": false,
"upgradePolicy": {
"mode": "Manual",
"automaticOSUpgrade": false
},
...
"imageReference": {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "16.04.201801050"
},
我可以通过SSH确认每个新的VMSS实例确实具有所需的“ 16.04.201801050”映像(需要应用大量更新):
```
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 / cluster / virtualMachines / 0?api-version = 2018-06-01:
"properties": {
"latestModelApplied": true,
"vmId": "...",
"hardwareProfile": {},
"storageProfile": {
"imageReference": {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "16.04-LTS",
"version": "16.04.201801050"
}
单击Azure门户中VM实例的“升级”按钮将启动一个非常短暂的任务,而无需对基础VM进行任何更改。
所以我假设以下内容:
sudo apt dist-upgrade
。它做到了前者,它重新安装了原始图像,使所有内容消失了。因此在我看来,由于最新的ModelApplied属性错误,您无法使用Portal来维护当前正在运行的VM上的操作系统和安全更新。上面的行为和我的假设正确吗?
谢谢, 斯蒂芬。