0

我尝试通过扩展向 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”扩展名并添加了我的扩展名。有效。

4

1 回答 1

0

CSE-AGENT vm 扩展至关重要,它管理配置节点所需的所有后安装,以将其视为有效的 Kubernetes 节点。删除此 CSE 将破坏 VM 并使您的集群无法运行。

如果您有兴趣将更改应用到现有集群中的节点,但不受官方支持,您可以利用以下项目。

https://github.com/juan-lee/knode

这允许您使用 DaemonSet 配置节点,这在您的节点池启用了自动缩放功能时会有所帮助。

对于文件系统的简单节点更改,具有主机路径的特权 pod 也可以工作

https://dev.to/dannypsnl/privileged-pod-debug-kubernetes-node-5129

于 2020-04-22T19:38:19.063 回答