J02.07. Routes (Маршрутизация)

Редактировал(а) Ирина Сафонова 07.01.2024, 12:59

Что такое Routes (Маршрутизация)?


Routes (Маршрутизация) — функционал Cloud Managed Kubernetes, аналогичный Ingress в Kubernetes. Вы можете использовать маршрут и один IP-адрес для агрегирования и предоставления нескольких сервисов.

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


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

1. Создайте рабочее пространствопроект и двух пользователей, например, ws-admin и project-regular. Admin должна быть предоставлена роль project-admin в проекте, а project-regular — роль operator.

2. Если доступ к маршрутизации должен осуществляться в режиме HTTPS, создайте секретную переменную, содержащую ключи tls.crt(сертификат TLS) и tls.key (закрытый ключ TLS). Ключи используются для шифрования.

3. Создайте минимум один сервис.

Настройка метода доступа к маршрутизации


1. Войдите в консоль как project-admin и перейдите в проект.
2. Выберите Gateway Settings в Project Settings на левой панели навигации и нажмите кнопку Enable Gateway справа.
3. В появившейся экранной форме установите для параметра Access Mode значение NodePort или LoadBalancer и нажмите кнопку ОК.

Если режим доступа установлен на LoadBalancer, необходимо включить балансировщик нагрузки в вашей среде.

Создание маршрутизации


Создание состоит из следующих последовательных шагов:

1. Настройка основной информации.
2. Настройка правил маршрутизации.
3. Настройка дополнительных параметров.
4. Получение доменного имени, пути службы и адреса шлюза.

При необходимости проверьте параметры настройки.

Шаг 1. Настройка основной информации

1. Выйдите из веб-консоли Cloud Managed Kubernetes, войдите снова как project-regular и перейдите к тому же проекту.
2. Выберите Routes в Application Workloads на левой панели навигации и нажмите кнопку Create справа.
3. На вкладке  Basic Information настройте основную информацию о маршруте и нажмите кнопку Next.

  • Name: имя, которое является уникальным идентификатором.
  • Alias: псевдоним.
  • Description: описание.

Шаг 2. Настройка правил маршрутизации

1. На вкладке Routing Rules нажмите кнопку Add Routing Rule.
2. Выберите режим, настройте правила маршрутизации, нажмите кнопки √ и Next.

  • Auto Generate: Cloud Managed Kubernetes автоматически генерирует доменное имя в формате <Service name>.<Project name>.<Gateway address>.nip.io. Доменное имя автоматически преобразуется nip.io в адрес шлюза. Этот режим поддерживает только HTTP.
    • Domain Name: установите имя домена для маршрута.
    • Протокол: выберите http или https. Если выбран https, выберите секретную переменную, которая содержит ключи tls.crt (сертификат TLS) и tls.key (закрытый ключ TLS). Ключи используются для шифрования.
    • Paths: сопоставьте каждую службу с путем. Чтобы добавить несколько путей при необходимости, нажмите кнопку Add.

Шаг 3. Настройка дополнительных параметров

Шаг необязателен.

1. Перейдите на вкладку Advanced Settings и выберите кнопку Add Metadata.
2. Настройте аннотации и метки для маршрута и нажмите кнопку Create.

При необходимости используйте аннотации для настройки правил маршрутизации.

Шаг 4. Получение доменного имени, пути службы и адреса шлюза

1. Выберите Routes в Application Workloads на левой панели навигации и щелкните имя маршрута справа.
2. Получите доменное имя и путь к службе, адрес шлюза в Rules. Адрес шлюза зависит от значения режима доступа Route:

  • Если установлено значение NodePort, IP-адрес узла кластера Kubernetes используется в качестве адреса шлюза. NodePort отображается после имени домена.
  • Если установлено значение LoadBalancer, адрес шлюза назначается подключаемым модулем балансировки нагрузки.

Настройка разрешения доменного имени


Если в конфигурации правил маршрутизации выбрали параметр Auto Generate, то настройка доменного имени не требуется. Доменное имя автоматически преобразуется как nip.io в адрес шлюза.
Если в конфигурации правил маршрутизации выбрали параметр Specify Domain, то настройте разрешение имени домена на вашем DNS-сервере или добавьте  <Route gateway address> <Route domain name> в файл etc/hosts клиентской машины.

Настройка доступа к маршрутизации


Режим доступа NodePort

1. Войдите на клиентский компьютер, подключенный к адресу Route gateway.
2. Используйте адрес <Route domain name>:<NodePort>/<Service path> для доступа к серверной службе маршрута.

Метод доступа к LoadBalancer

1. Войдите на клиентский компьютер, подключенный к адресу Route gateway.
2. Используйте адрес <Route domain name>/<Service path> для доступа к серверной службе маршрута.

Доступ к маршруту из-за пределов частной сети

Если необходим доступ к маршруту из-за пределов вашей частной сети с помощью NodePort или LoadBalancer в зависимости от сетевой среды, то:

  • Может потребоваться настройка политики переадресации трафика и брандмауэра в инфраструктурной среде. Это необходимо для получения доступа к адресу шлюза и номеру порта маршрута.
  • Если в конфигурации правил маршрутизации выбран параметр Auto Generate, может потребоваться ручное редактирование правила маршрутизации. Это необходимо для изменения адреса шлюза в имени домена маршрутизации на внешний IP-адрес частной сети.
  • Если в конфигурации правил маршрутизации выбран параметр Specify Domain, то может потребоваться изменение конфигурации на DNS-сервере или в файле etc/hosts клиентского компьютера. Это необходимо для преобразования доменного имени во внешний IP-адрес вашей частной сети.

Проверка параметров настройки


При необходимости просмотрите параметры настройки маршрутизации.

Операции

1. Выберите Routes в Application Workloads на левой панели навигации и щелкните имя маршрута справа.
2. Нажмите кнопку Edit Information или нажмите кнопку More и выберите операцию в раскрывающемся меню:

  • Edit YAML: изменение файла конфигурации YAML Route.
  • Edit Routing Rules: изменение правил маршрутизации.
  • Edit Annotations: изменение аннотации маршрута.
  • Delete: возврат на страницу с списком правил маршрутизации после удаления.

Статус ресурса

Щелкните вкладку Resource Status, чтобы просмотреть правила маршрутизации.

Метаданные

Щелкните вкладку Metadata, чтобы просмотреть метки и аннотации правил маршрутизации.

События

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

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