J01.04. Создание приложения на основе микросервисов

Редактировал(а) Ирина Сафонова 06.01.2024, 18:34

Разделение приложения на компоненты


Так как каждый микросервис обрабатывает одну часть функций приложения, приложение можно разделить на разные компоненты. Независимые друг от друга компоненты имеют обязанности и ограничения. В Cloud Managed Kubernetes такое приложение называется составным. Составное приложение создается при помощи созданных или существующих сервисов.

В примере создание приложения Bookinfo на основе микросервисов.

Необходимые условия перед выполнением настроек


Перед выполнением настроек создайте:

Пользователь должен быть приглашен в проект и наделен ролью operator. Также пользователь Project-admin должен установить шлюз проекта, чтобы project-regular мог определить доменное имя при создании приложения.

Создание микросервисов, составляющих приложение


1. Войдите в веб-консоль Cloud Managed Kubernetes и перейдите к приложениям в Application Workloads проекта. На вкладке Composed Apps нажмите кнопку Create.
2. Задайте имя приложению, например, bookinfo и нажмите кнопку Next.
3. На странице настроек службы создайте микросервисы, из которых состоит приложение. Нажмите кнопку Create Service и выберите Stateless Service.
4. Задайте имя сервису, например, productpage и нажмите кнопку Next.

При необходимости создайте сервис на панели инструментов или включите параметр Edit YAML в правом верхнем углу, чтобы отредактировать файл YAML.

5. Нажмите кнопку Add Container в разделе Containers и введите образ контейнера kubesphere/examples-bookinfo-productpage-v1:1.13.0 в поле поиска, чтобы использовать образ Docker Hub.

Нажмите Enter на клавиатуре после ввода имени изображения.

6. Нажмите кнопку Use Default Ports, далее — √ в правом верхнем углу и кнопку Next.
7. На странице Storage Settings добавьте том или нажмите кнопку Next.
8. Нажмите кнопку Create на странице Advanced Settings.
9. Аналогичным образом добавьте оставшиеся три микросервиса.

СервисИмяОбраз контейнера
Statelessdetailskubesphere/examples-bookinfo-details-v1:1.13.0
Statelessreviewskubesphere/examples-bookinfo-reviews-v1:1.13.0
Statelessratingskubesphere/examples-bookinfo-ratings-v1:1.13.0

10. После завершения добавления микросервисов нажмите кнопку Next.
11. На странице Route Settings нажмите кнопку Add Routing Rule.
12. На вкладке Specify Domain задайте доменное имя приложению, например, demo.bookinfo и выберите HTTP в поле Protocol. В разделе Paths выберите сервис productpage и порт 9080. Нажмите кнопку OK, чтобы продолжить.

Кнопка Add Routing Rule не отображается, если шлюз проекта не установлен.

13. При необходимости добавьте дополнительные правила или нажмите кнопку Create, чтобы завершить настройку.
14. Дождитесь, пока приложение перейдет в состояние Ready.

Настройка доступа к приложению


1. Когда устанавливаете доменное имя для приложения, добавьте запись в файл hosts (/etc/hosts). Например, напишите IP-адрес и имя хоста, как в примере ниже:

192.168.0.9 demo.bookinfo

Добавьте свой IP-адрес и имя хоста.

2. В Composed Apps нажмите на созданное приложение.
3. В Resource Status нажмите на кнопку Access Service.  

Убедитесь, что открыли порт в своей группе безопасности.

5. Нажмите на кнопки Normal user и Test user, чтобы увидеть другие сервисы.

В начало 🡱
К следующему разделу 🡲
К предыдущему разделу 🡰