我正在尝试使用ACS-Engine
设置混合Kubernetes
。我能够成功设置Linux agentPool
。当我添加Windows agentPool
时,收到错误。我只在osType
为Windows
时才会收到此内容。
我使用以下方法设置agentPools:
"agentPoolProfiles": [
{
"name": "linuxpool1",
"count": 3,
"vmSize": "Standard_D2_v2",
"availabilityProfile": "AvailabilitySet",
"osType": "Linux"
},
{
"name": "windowspool2",
"count": 3,
"vmSize": "Standard_D2_v2",
"availabilityProfile": "AvailabilitySet",
"osType": "Windows"
}
],
当包含Windows agentPool
时,我收到以下错误:
MacBook-Pro:acs-engine appalachios$ ./acs-engine -artifacts zeuscluster zeus_deploy_v1.json
acsengine took 2.42314ms
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x112a551]
goroutine 1 [running]:
github.com/Azure/acs-engine/pkg/api/vlabs.
(*Properties).Validate(0xc420070420, 0x4ce, 0x6ce)
/Users/appalachios/gopath/src/github.com/Azure/acs-
engine/pkg/api/vlabs/validate.go:241 +0x471
github.com/Azure/acs-engine/pkg/api.LoadContainerService(0xc420077500, 0x4ce, 0x6ce,
0xc4200159f0, 0x5, 0x0, 0x0, 0x6ce)
/Users/appalachios/gopath/src/github.com/Azure/acs-engine/pkg/api/apiloader.go:73 +0x398
github.com/Azure/acs-engine/pkg/api.DeserializeContainerService(0xc420077500, 0x4ce, 0x6ce, 0x4ce, 0x6ce, 0x0, 0x0, 0x1271fc0)
/Users/appalachios/gopath/src/github.com/Azure/acs-engine/pkg/api/apiloader.go:30 +0x13a
github.com/Azure/acs-engine/pkg/api.LoadContainerServiceFromFile(0x7fff5fbffbfc, 0x13, 0x0, 0x0, 0x0, 0x0, 0x10b7510)
/Users/appalachios/gopath/src/github.com/Azure/acs-engine/pkg/api/apiloader.go:20 +0x1bd
main.main()
/Users/appalachios/gopath/src/github.com/Azure/acs-engine/acs-engine.go:205 +0x3c2
答案 0 :(得分:1)
我猜你可能在输入API模型中缺少windowsProfile。 E.g:
"windowsProfile": {
"adminUsername": "azureuser",
"adminPassword": "replacepassword1234$"
}
在这种情况下,我会收到反馈以返回更好的错误消息。但是,你可以确认你的API模型中是否有生成模板的Windows模板?