扩展 Azure 容器实例

17

能否扩展运行中的ACI容器?

问题:

我们正在将一些旧式的云服务(.NET Framework v4.7.1)迁移到Docker容器中,现在已经成功地在Azure容器实例中运行并响应请求,但需要能够进行扩展以便负载均衡和提高容错能力。

这是一个更大项目的一部分,在这个项目中,我们还在k8s中运行我们的新型解决方案 - 所有的.NET Core 2微服务都在其中。

最终的目标是在具备同时运行Windows和Linux节点的同一个主控节点时,将它们引入到主要的k8s解决方案中,使我们能够在同一个集群中运行两个项目。


ACI是独立的服务,创建服务时可以选择规模。如果您使用AKS的ACI连接器,则可以从Kubernetes本身进行扩展。Windows容器目前处于测试阶段,并计划在2018年下半年正式发布。 - Gregory Suvalian
谢谢@GregorySuvalian,那个缩放的配置在哪里? - Kieron
目前 Windows 容器只有两种选择,您可以在此处找到 https://learn.microsoft.com/en-us/azure/container-instances/container-instances-quotas 并且必须在实例化时进行分配。 - Gregory Suvalian
2个回答

14

无法对特定的ACI实例进行扩展。如果您想要更多的CPU /内存,您需要重新部署该容器。

您可以水平扩展ACI,即添加更多容器,但是ACI不支持负载均衡器,因此您需要管理将提供给您的IP地址集合。当然,您可以部署前端容器来分担负载。

如评论中所述,您可以将AKS连接到ACI,并使用Kubernetes来处理编排和扩展。不幸的是,我认为目前尚不支持Windows(虽然我想这很快就会到来)

根据您的用例,您可能最好部署到独立集群,而AKS/ACI则能够满足您的需求。


3
对我来说,ACI似乎是微软推出的一个半成品解决方案,只是为了让人们跟上Docker的潮流。它基本上就像在Azure中运行一个“docker run”的方式。适用于小型设置,但绝不适合扩展规模。 - Kat Lim Ruiz
2
如果这能让你感觉更好,对于Linux实例来说,它也是半成品。 - JJCV

8
你可以使用 ARM 模板 来轻松部署多个 Azure 容器实例,特别需要注意 'copy' 函数。
然后你可以使用 Azure DNS 流量管理器来在不同的容器间进行负载均衡。

你是否比较过这种方法与 Azure Kubernetes 服务 [AKS] 对 Azure 容器实例 [ACI] 的虚拟 kubelet 支持,并发现它是一种更简单、更经济的设置,如果你不需要 AKS 的所有高级监控和容器实例恢复功能的话? - myusrn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接