我是一个新手,我计划在 Azure 中为我的客户托管具有自动缩放功能的 iis 服务器。
我们将在 iis 服务器中测试模块并每周更新一次,我的问题是如何在自动缩放时在 vm 之间同步文件,如果我们只能对相同的 vm 使用自动缩放,那么请建议我解决这个问题设想。我们将在自动缩放中启动 min 2 max 10 vms。
问候,
库马尔 B
我是一个新手,我计划在 Azure 中为我的客户托管具有自动缩放功能的 iis 服务器。
我们将在 iis 服务器中测试模块并每周更新一次,我的问题是如何在自动缩放时在 vm 之间同步文件,如果我们只能对相同的 vm 使用自动缩放,那么请建议我解决这个问题设想。我们将在自动缩放中启动 min 2 max 10 vms。
问候,
库马尔 B
我首先会问为什么使用虚拟机,使用虚拟机会变得更加复杂。Scale Set 将有助于支持这一点,但是当您想要部署新代码时仍然会遇到问题。你说的是 IIS,所以我假设是 Windows。Desired State Configuration 是一个不错的选择,您可以制作一个 PowerShell 脚本,为您“配置”您的 VM,并可能引入任何代码更新。这也是 Chef/puppet/salt 之类的东西可以发挥作用的地方,以确保配置服务器。
您可以考虑创建一个自定义映像,每次部署新代码时都会将其烘焙到该映像中。然后你基本上是在做一个滚动更新,你启动一个新的服务器,然后销毁一个,直到它们都被更新。从技术上讲,无论哪种方式都可以做到这一点,只要将它们烘焙到图像中,您就会有更快的启动时间。
https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-deploy-app https://adamtheautomator.com/azure-vm-scale-sets -电源外壳/
自动 - 虚拟机可能会以随机顺序重新启动,即使同时暂时关闭所有虚拟机。滚动 - 规模集分批将更新部署到实例,批次之间有可选的暂停时间。手动 - 启动更新时,现有 VM 不会发生任何事情。
如果它们不是代码文件,您尝试同步哪些文件,Azure 文件将非常适合,因为它支持 SMB,或者您可以只使用云存储。
您可以使用所需的状态配置将应用程序部署到虚拟机规模集。请参阅:https ://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-deploy-app
不是你问的,但你应该考虑为什么你在虚拟机上的 IIS 中托管你的应用程序。如果您使用的是 Azure,那么 Azure App Service 可能更合适。请参阅:https ://docs.microsoft.com/en-us/azure/app-service/