Перейти к основному содержимому

Сеть

При развертывании экземпляра ТестОпс, вам нужно решить:

  • внешний адрес (хост и порт), который пользователи будут использовать для работы с ТестОпс в браузерах.
  • порт, на котором ТестОпс будет принимать HTTP-запросы.

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

По умолчанию, ТестОпс использует незашифрованный протокол HTTP. Однако, с обратным прокси-сервером или балансировщиком нагрузки, возможно включить HTTPS.

К сведению

Обычно сервис ТестОпс прослушивает порт 8080, а обратный прокси-сервер или балансировщик нагрузки прослушивает порт 443. HTTPS-запросы на порт 443 переводятся в HTTP-запросы на порт 8080, затем ТестОпс обрабатывает их и отвечает на них. При необходимости он использует внешний адрес для генерации межстраничных ссылок.

Общие сетевые параметры

В отличие от других методов развертывания, Kubernetes предоставляет интегрированный обратный прокси-сервер или балансировщик нагрузки (Ingress или Istio). Он прослушивает порт 80 (или порт 443, если включен HTTPS) и маршрутизирует запросы к порту прослушивания службы Gateway.

Параметры определяются в файле values.yaml:

  • instanceFqdn — хост внешнего адреса.
  • port — порт прослушивания (по умолчанию 8080).
  • proxy — параметры использования прокси.
  • network.ingress — параметры использования Ingress, если требуется управлять предоставляемым чартом.
  • network.istio — параметры использования Istio, если требуется управлять предоставляемым чартом.

Обратите внимание, что необходимо включить либо Ingress, либо Istio, но не оба одновременно.

Например, с конфигурацией ниже пользователи будут получать доступ к экземпляру как “http://testops.example.com” (порт 80), где Ingress будет принимать запросы и отправлять их сервису ТестОпс (порт 8080).

instanceFqdn: testops.example.com

port: 8080

# ...

network:
ingress:
enabled: true

Параметры обратного прокси-сервера

При настройке обратного прокси-сервера для ТестОпс убедитесь, что следующие параметры настроены правильно.

  • Максимальный размер тела запроса
    Например: client_max_body_size в nginx.

    Установите этот параметр на 300 MB или выше. Меньший лимит может предотвратить загрузку результатов тестов в ТестОпс.

  • Тайм-аут ответа сервера
    Например: proxy_read_timeout в nginx.

    Установите этот параметр на 300 секунд или выше. Меньший тайм-аут может прервать загрузку результатов тестов в ТестОпс.

Включение HTTPS

И Ingress, и Istio могут работать через протокол HTTPS при наличии действительного TLS-сертификата. Внешний обратный прокси-сервер не требуется.

Измените следующие параметры в файле values.yaml:

  • network.tls.enabledtrue.
  • network.tls.secretName — имя секрета Kubernetes, который хранит TLS-сертификат.

Например:

host: testops.example.com

gateway:
service:
port: 8080

# ...

network:
ingress:
enabled: true
tls:
enabled: true
secretName: allure-tls

Настройка брандмауэра

Если вы используете брандмауэр, убедитесь, что входящий трафик разрешен.

Этот шаг может быть выполнен по-разному, в зависимости от используемого брандмауэра. Ниже приведены примеры для брандмауэров по умолчанию в различных дистрибутивах Linux. Обязательно замените “8080” на соответствующий порт для вашего развертывания.

sudo ufw allow 8080/tcp