Кваркус на Hashicorp Nomad

Quarkus описывается как Kubernetes Native Java-стек, что, на мой взгляд, является несправедливой рекламной шумихой. что, насколько мне известно, в нем нет кода, специфичного для Kubernetes (игнорируя сценарии развертывания, плагины Maven и т. д.).

Кто-нибудь пробовал запустить его в другом оркестраторе Docker? В частности, Hashicorp Nomad? Как насчет марафона? Конечно же, бонусные баллы для Swarm.

Если это возможно, следует ли обновить документацию, чтобы удалить такие маркетинговые слова, как «родной Kubernetes»?


person OneCricketeer    schedule 25.03.2020    source источник
comment
Я успешно запускаю его на Docker-Swarm. Что касается именования K8S, я задал этот вопрос раньше по этой ссылке: stackoverflow.com/questions/58154184/. Проверьте ответ и комментарии.   -  person iabughosh    schedule 25.03.2020
comment
Я так и думал, но хотел бы, чтобы здесь присутствовал участник.   -  person OneCricketeer    schedule 25.03.2020
comment
Согласно @Gunnar, я знаю, что он отлично работает в OpenShift ...   -  person OneCricketeer    schedule 25.03.2020
comment
Я думаю, что он описывает направленность проекта на разработку чего-то, что изначально подходит для Kubernetes, в то время, когда люди больше озабочены низким использованием ресурсов (небольшие образы Docker, низкое использование памяти, быстрый запуск, сравнимый с приложениями golang или nodejs, которые традиционные Java Серверы приложений и Spring Boot не могут совпадать, хотя в конечном итоге они работают лучше из-за JIT и лучшей производительности GC)   -  person JohannesB    schedule 16.04.2020
comment
@JohannesB Ничто в k8s не ориентировано на низкое использование ресурсов. Фактически, k3s использует гораздо меньше ресурсов, а Nomad (плюс Consul) еще меньше (на самом деле это не проверено). Итак, еще раз, почему Kubernetes native вместо всех других фирменных проектов CNCF с облачными технологиями (хотя подавляющее большинство из них также заявляют, что они явно зависят от k8s api-server или CRD) или просто контейнерных? Помимо CRD и PVC, в основном есть только api-сервер и подключаемый планировщик ... CSI и CNI являются внешними по отношению к k8s. Moby / containerd + также есть другие спецификации контейнера.   -  person OneCricketeer    schedule 16.04.2020


Ответы (1)


Я полагаю, что вы можете быть немного правы насчет маркетинговой шумихи, как вы ее называете, хотя я не понимаю, почему Quarkus нужно было привязать себя к Kubernetes, чтобы называть себя Kubernetes Native Java Stack. Как вам, кажется, хорошо известно:

Kubernetes стал де-факто стандартным решением для оркестрации контейнеров с его многочисленными сертифицированными реализациями, такими как упомянутые в вашей ссылке из комментариев. По многим мнениям, он выиграл войну с оркестровкой контейнеров.

Первоначальная группа, начавшая проект Quarkus (то есть Red Hat), заявила:

Цель Quarkus - сделать Java ведущей платформой в Kubernetes и бессерверных средах, предлагая разработчикам унифицированную модель реактивного и императивного программирования для оптимального решения более широкого спектра архитектур распределенных приложений.

Red Hat инвестировала / спонсировала соответствующие технологии, такие как (в случайном порядке):

  1. Linux (через Red Hat Enterprise Linux)
  2. Платформа OpenShift
  3. IcedTea (программное обеспечение для сборки с открытым исходным кодом для компиляции исходных кодов OpenJDK от Sun / Oracle)
  4. Новый сборщик мусора Java с открытым исходным кодом Шенандоа для виртуальной машины HotSpot, которая частично закрывает пробел с виртуальной машиной Zing от Azul и сборщиком мусора C4 (еще один вариант - предварительная компиляция).
  5. Серверы приложений Java (JBoss AS / WildFly)
  6. А также другие замечательные Java-приложения, такие как Keycloak , которые будут работать на Quarkus

И Quarkus - лишь один из способов, с помощью которых они пытаются (довольно успешно) применить новые технологические достижения в Java (такие как модульная система, опережающая компиляция), реализованные как в OpenJDK, так и в GraalVM, для улучшения интеграции с современным хостингом. и решения для развертывания, такие как Kubernetes. Для получения дополнительной информации см., Например: эти блоги

Некоторые из более простых изменений нижнего уровня, необходимых для улучшения поведения виртуальных машин Java, связаны с определенными функциями Linux (например, cgroups) и уже были исправлены в прошлом.

Однако одна из самых больших проблем, связанных с запуском существующих Java-приложений на Substrate VM GraalVM для собственных образов, заключается в том, что она (пока) не поддерживает все функции, на которые полагаются популярные Java-фреймворки (например, Spring и Hibernate), как описано в этот длинный список

Итак, насколько я понимаю, чтобы исправить это здесь, они разработал Quarkus:

[работать] одинаково хорошо на любой JVM и как исполняемые файлы собственных образов GraalVM. И вы можете без проблем создавать собственные образы на своей стороне.


Все дело в маркетинге? Нет, я на это не куплюсь. Я думаю, что это связано с четким видением и целью руководства проекта.
Я дам вам, что это было бы отличным дополнением, чтобы более четко описать, какие платформы считаются совместимой целью, прошли какое-то формальное тестирование , и, таким образом, "поддерживаются"; но для такого рода информации вы, вероятно, смотрите официальные контракты на поддержку Quarkus и, что более важно, GraalVM (вероятно, от Red Hat, Oracle, IBM и других).

person JohannesB    schedule 16.04.2020