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.