Масштабирование экземпляра контейнера Azure

Можно ли масштабировать работающий контейнер ACI?

Проблема:

У нас есть некоторые облачные службы старой школы (.NET Framework v4.7.1), которые мы переносим в контейнеры Docker, теперь они успешно работают и отвечают в экземплярах контейнеров Azure, но нам нужна возможность масштабировать их для нагрузка и устойчивость.

Это часть более крупного проекта, в котором мы также запускаем наше новое решение внутри k8s - все микросервисы .NET Core 2.

В конечном итоге цель будет заключаться в том, чтобы включить их в основные решения k8s, когда у нас будет возможность запускать узлы Windows и Linux на одном и том же главном устройстве, что позволит нам запускать оба проекта в одном кластере.


comment
ACI - это автономный сервис, масштаб которого вы выбираете при создании сервиса. Если вы используете коннектор ACI для AKS, вы сможете масштабироваться из самого Kubernetes. Контейнеры Windows в настоящее время находятся в стадии бета-тестирования и планируется, что они перейдут в GA где-то во второй половине 2018 года.   -  person Gregory Suvalian    schedule 14.05.2018
comment
Спасибо @GregorySuvalian, а где эта конфигурация весов?   -  person Kieron    schedule 14.05.2018
comment
В настоящее время есть только 2 варианта для контейнеров Windows, которые вы можете найти здесь docs.microsoft.com/en-us/azure/container-instances/ и должны быть выделены во время создания экземпляра.   -  person Gregory Suvalian    schedule 14.05.2018


Ответы (2)


Невозможно масштабировать конкретный экземпляр ACI. Если вам нужно больше ЦП / памяти, вам нужно будет повторно развернуть этот контейнер.

Вы можете горизонтально масштабировать ACI, то есть добавлять больше контейнеров, однако ACI не поддерживает балансировщики нагрузки, поэтому вам нужно будет управлять набором IP-адресов, которые вам будут предоставлены. Конечно, вы можете развернуть контейнер внешнего интерфейса, чтобы распределить нагрузку.

Как упоминалось в комментариях, вы можете подключить AKS к ACI и использовать Kubernetes для управления оркестровкой и масштабированием. К сожалению, я не верю, что Windows в настоящее время поддерживается в AKS (хотя, думаю, это должно произойти очень скоро)

В зависимости от вашего варианта использования вам может быть лучше развернуть в автономном кластере, в то время как AKS / ACI догонит то, что вам нужно.

person Michael B    schedule 14.05.2018
comment
на самом деле ACI кажется мне недоработанным решением от MS, просто позволяющим людям прыгать на волне докеров. Это в значительной степени способ запустить докер в лазурном режиме. Подходит для небольших установок, но определенно не подходит для масштабирования. - person Kat Lim Ruiz; 13.02.2019
comment
Это наполовину готово и для экземпляров Linux, если вам от этого станет легче - person JJCV; 03.12.2019

Вы можете использовать шаблон ARM для простого развертывания нескольких экземпляров контейнера Azure. Обратите внимание, в частности, на функцию «копировать».

Затем вы можете использовать диспетчер трафика Azure DNS для балансировки нагрузки между различными контейнерами.

person Brendan Burns    schedule 15.05.2018
comment
сравнивали ли вы этот подход с поддержкой Azure Kubernetes Service [aks] virtual kubelet для экземпляров контейнеров azure [aci] и обнаружили, что это более простая и экономичная установка для запуска, если вам не нужны все возможности мониторинга и восстановления экземпляров контейнера, предоставляемые aks ? - person myusrn; 30.12.2018