Рубрики
Без рубрики

Развертывание микросервиса Java в Kubernetes

Ранней привлекательностью Java было ее обещание “написать один раз, запустить где угодно”. ” В теории это переносимость… Помеченный java, kubernetes, микросервисами, ketch.

Ранней привлекательностью Java было ее обещание “написать один раз, запустить где угодно”. ” Теоретически, эта переносимость должна позволить разработчику писать код, который будет работать без изменений на любой платформе.

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

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

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

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

Давайте посмотрим, как мы можем развернуть пример микросервисного приложения Java под названием WildFly

Если бы вы развернули это приложение в Kubernetes, вам нужно было бы:

  • Создайте конфигурацию контроллера репликации
  • Создайте сервис для своего приложения
  • Создайте и настройте балансировку нагрузки, чтобы пользователи могли получить доступ к вашему приложению
  • Создать пространство имен
  • И больше

Создание вышеперечисленного может занять много времени. Управление этими конфигурациями по мере изменения приложения может привести к дополнительным сложностям, таким как понимание того, как выбирать между NodePort и ClusterIP, например, и многое другое.

Требования:

  • Кластер Kubernetes
  • Ketch установлен и доступен через ваш интерфейс командной строки. Для получения дополнительной информации об установке Ketch, пожалуйста, посетите Начало работы с Ketch

Если Ketch уже установлен, первым шагом будет создание пула, который преобразуется в пространство имен в Kubernetes, где вы будете развертывать свое приложение WildFly. Вы можете сделать это с помощью приведенной ниже команды:

ketch pool add development --ingress-service-endpoint 35.197.96.152 --ingress-type istio
  • Имейте в виду, что вам потребуется обновить IP-адрес конечной точки службы входа на IP-адрес из вашего кластера, который вы можете найти, выполнив приведенную ниже команду:
kubectl get services -n istio-system

Вы можете увидеть, что ваш пул был успешно создан, выполнив приведенную ниже команду:

ketch pool list

Теперь вы создаете свое приложение, в котором следующим будет развернут образ приложения WildFly:

ketch app create wildfly --pool development

Последний шаг заключается в развертывании образа приложения:

ketch app deploy wildfly -i docker.io/jboss/wildfly:latest

Вы можете просмотреть подробную информацию о статусе вашего приложения и URL-адрес, который был автоматически присвоен ему, используя приведенную ниже команду:

ketch app list

Если вы перейдете по представленному URL-адресу, мы сможем увидеть веб-интерфейс приложения

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

Ketch устраняет сложности с развертыванием приложений, улучшает работу разработчиков и скорость доставки приложений.

Подайте Кетч сегодня и присоединяйтесь к одному из самых быстрорастущих проектов с открытым исходным кодом в облачном пространстве!

Оригинал: “https://dev.to/brunoa19/java-microservice-deployment-to-kubernetes-2mm7”