我尝试通过扩展向 VM 添加自定义脚本。我观察到,在创建 vm 时,默认情况下会创建名为“cse-agent”的 Microsoft.Azure.Extensions.CustomScript 类型。所以我尝试通过使用脚本属性对文件进行编码来更新扩展名
az vm extension set \
--resource-group test_RG \
--vm-name aks-agentpool \
--name CustomScript \
--subscription ${SUBSCRIPTION_ID} \
--publisher Microsoft.Azure.Extensions \
--settings '{"script": "'"$value"'"}'
$value 表示以 base 64 编码的脚本文件。
这样做会给我一个错误:
Deployment failed. Correlation ID: xxxx-xxxx-xxx-xxxxx.
VM has reported a failure when processing extension 'cse-agent'.
Error message: "Enable failed: failed to get configuration: invalid configuration:
'commandToExecute' and 'script' were both specified, but only one is validate at a time"
从文档中提到,当存在脚本属性时,不需要 commandToExecute。正如您在上面看到的,我没有提到 commandToExecute,它以某种方式从以前的扩展中获取。有没有办法在不删除的情况下更新它?此外,了解 cse-agent 扩展在删除时会产生什么影响也会很有趣。
仅供参考:我尝试从 VM 中删除“cse-agent”扩展名并添加了我的扩展名。有效。