azure – 如何停止WebRole / WorkerRole的单个实例/ VM

前端之家收集整理的这篇文章主要介绍了azure – 如何停止WebRole / WorkerRole的单个实例/ VM前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个VM说SampleVM depoyed&在Azure环境上运行,同样我们创建了2个实例.一个是WebRole&另一个是WorkerRole在Slot staging上运行.

我的问题是我可以通过powershell命令启动/停止SampleVM但是如何启动/停止在SampleVM上运行的单个实例(WebRole或WorkerRole).

但是当我停止SampleVM时,Instance也都停止了,但我想只停止一个Instance / VM,即WebRole或WorkerRole.

请提供一些powershell命令,并将参数传递给Stop / Start单个实例

解决方法

Gaurav给出了很好的答案,但我想补充一点细节,因为我认为网络和工作者角色可能会有一些混乱.每个角色都是一组虚拟机的定义,这些虚拟机执行相同的操作(由您构建)(您不需要处理操作系统 – 您只需启动应用程序,Azure就会自行处理虚拟机).

当Cloud Service正在运行时,每种角色类型至少会有一个实例.因此,在您的情况下,运行Web角色和辅助角色,您将至少运行两个VM.

如果您选择将您的Web角色扩展到3个实例,然后决定将其转回2个实例,则无法选择要关闭的实例.这由Azure的结构处理.请记住,角色的每个实例都运行相同的代码,Azure会将流量负载平衡到您的角色实例(通过您定义的外部端点).您唯一需要担心的是关机.你有约. 5分钟清理任何正在运行的进程(并且您可以在关闭期间轻松地从负载平衡器中取出特定实例,因为您收到Stopping()事件).

您无法关闭云服务中的整个角色(例如,角色的所有实例)(因此……您无法在保持Web角色实例运行的同时关闭工作者角色实例).如果这是一项要求,那么您始终可以考虑在另一个Cloud Service中的一个Cloud Service和辅助角色中运行Web角色.如果他们使用队列传递数据,一切都将像以前一样工作.如果Web角色实例需要直接访问辅助角色实例,则可以将两个云服务都放入虚拟网络.

还有一件事需要考虑:您不必拥有单独的角色.如果成本是一个因素,您可以在Web角色中运行所有代码.在OnStart()期间,在Web角色中启动其他进程/线程的工作很少 – 请记住,角色实例是完整的Windows Server虚拟机;运行任何你想要的.使用单个角色定义,缩放有点粗糙:所有内容都缩放在一起.使用单独的角色,您可以微调您的缩放(在构建更大的系统时更为重要).

猜你在找的HTML相关文章