问题
我正在尝试部署一个可以自动缩放几个目标站点的辅助角色。我能够在本地运行自动调节器并且它可以工作(我在我的机器上安装了证书)。但是,一旦我将其作为云应用程序部署到Azure,它就不会自动缩放。 (但是,worker角色正在运行,因为我可以看到我的非自动缩放过程在同一个辅助角色中工作。)
我尝试了什么
我已按照Deploying the Autoscaling Application Block说明操作。
我错过了什么?
由于
答案 0 :(得分:2)
要在Azure中运行,我会尝试将Store Location设置为LocalMachine。
如果您已按照部署自动扩展应用程序块中的所有步骤进行操作,则应在角色中部署具有私钥(.pfx)的证书。您可以RDP到服务器以验证证书是否已安装(以及位置)。
您还可以尝试按Autoscaling Application Block Logging启用日志记录,以查看是否有任何消息。
答案 1 :(得分:2)
Tuzo是对的 - cert应该在LocalMachine中,但这还不够。见this SO post。基本上,在OS Family 2中,WaWorkerHost在Role初始化过程中生成的临时帐户(具有GUID名称)下运行,该帐户具有访问证书私钥的权限;在OS系列3中,WaWorkerHost在“NETWORK SERVICE”帐户下运行,此帐户没有私钥访问权限。
现在的最佳选择(MS Azure团队解决下一个SDK中的问题)是使用提升的权限运行角色 - 编辑ServiceDefinition.csdef:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="blah" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
<WorkerRole name="blah" vmsize="Small">
<Runtime executionContext="elevated" />
...
</WorkerRole>
</ServiceDefinition>