Kubernetes под управлением Windows + Linux Containers

Я построил систему торговых исследований, которая выполняет задания по тестированию на исторических данных. Система управляется несколькими контейнерами на базе Linux, которые отвечают за управление заданиями, анализ результатов и хранение всех заданий и результатов в PostgresDB. Само тестирование на истории выполняется в приложении TradeStation, которое поддерживается только в Windows (https://www.tradestation.com/trading-technology/system-requirements/).

У меня есть своего рода установка франкенштейна, где контейнеры внутри Docker на встроенном хосте MacOS (hackintosh с 4 ядрами и увеличенной памятью). База данных хранится в томе Docker. Затем у меня есть несколько виртуальных машин под управлением Windows, на которой работает Tradestation. Задания отправляются на виртуальные машины Windows через общую папку между MacOS и Windows.

Я не женат на MacOS, на самом деле я хотел бы купить руду или более мощные многопроцессорные серверы и запускать виртуализированные (например, VMware ESXi).

Я хочу преобразовать систему в кубернеты для более надежной и масштабируемой системы (среди других преимуществ). Можно ли настроить эту систему в кубернетах?

Я не понимаю, как системы Windows работают как контейнер вместе с контейнерами на основе Linux. Я где-то читал, что контейнеры Windows должны работать на хосте Windows? Означает ли это, что, поскольку у меня есть виртуальные машины Windows, я вынужден запускать всю систему на сервере Windows? Я бы предпочел не полагаться на работу на хосте Windows.

Есть мысли о том, как можно спроектировать эту систему?

1 ответ

Это ответ сообщества вики, основанный на комментариях и опубликованный для большей наглядности. Не стесняйтесь расширять его.

В официальной документации говорится, что в кластере Kubernetes можно использовать сочетание узлов Linux и Windows. Однако есть несколько особенностей:

  • Кластер Kubernetes kubeadm на базе Linux, в котором у вас есть доступ к плоскости управления;
  • Ваш сервер Kubernetes должен быть не ниже версии 1.17.
  • У вас должна быть лицензия Windows Server 2019 (или выше), чтобы настроить узел Windows, на котором размещены контейнеры Windows.

Дополнительную информацию можно найти в официальной статье о поддержке Windows в Kubernetes.

Теоретически вы можете использовать что-то вроде VMWare Tanzu для запуска полных виртуальных машин Windows в кластере.

Однако вы можете проверить эту статью, которая дает некоторое представление о том, как запустить приложение с графическим интерфейсом в контейнере докеров Linux на хосте Windows.

Другие вопросы по тегам