Сеть
При развертывании инстанса ТестОпс вам нужно выбрать:
- внешний адрес (хост и порт), через который пользователи будут открывать ТестОпс в браузерах;
- порт, на котором ТестОпс будет принимать HTTP-запросы.
При производственном развертывании обычно используется обратный прокси-сервер или балансировщик нагрузки, который обеспечивает маршрутизацию пользовательских запросов на внешний адрес к порту приложения и обеспечивает безопасное соединение.
По умолчанию ТестОпс использует незашифрованный протокол HTTP. При использовании прокси-сервера или балансировщика нагрузки есть возможность включить HTTPS.
Примечание
Обычно для сервиса testops указывают порт 8080, а для обратного прокси-сервера или балансировщика нагрузки — порт 443. HTTPS-запросы на порт 443 перенаправляются как HTTP-запросы на порт 8080, и ТестОпс их обрабатывает. При необходимости он использует внешний адрес для генерации межстраничных ссылок.
Общие сетевые параметры
В отличие от других методов развертывания, Kubernetes предоставляет интегрированный обратный прокси-сервер или балансировщик нагрузки (Ingress или Istio). Он прослушивает порт 80 (или 443, если включен HTTPS) и маршрутизирует запросы на порт сервиса testops.
Определите параметры в файле values.yaml:
instanceFqdn
— внешний хост;port
— порт прослушивания (по умолчанию 8080);network.ingress.enabled
— укажитеtrue
, чтобы включить Ingress;network.istio.enabled
— укажитеtrue
, чтобы включить Istio.
Например, с настройками ниже пользователи смогут получить доступ к инстансу по адресу http://testops.example.com
(порт 80), на котором Ingress будет принимать запросы и отправлять их сервису testops (порт 8080).
yaml
instanceFqdn: testops.example.com
port: 8080
# ...
network:
ingress:
enabled: true
Совет
Обратите внимание, что необходимо включить либо Ingress, либо Istio, но не оба одновременно.
Параметры обратного прокси-сервера
При настройке обратного прокси-сервера для ТестОпс убедитесь, что следующие параметры указаны правильно.
максимальный размер тела запроса (например,
client_max_body_size
в nginx);Укажите значение 300 МБ или больше. При меньших значениях некоторые результаты тестов могут не загружаться в ТестОпс.
тайм-аут ответа сервера (например,
proxy_read_timeout
в nginx).Укажите значение 300 секунд или больше. При меньших значениях загрузка результатов тестов в ТестОпс будет прерываться.
Включение HTTPS
И Ingress, и Istio могут работать через протокол HTTPS при наличии действительного TLS-сертификата. Внешний обратный прокси-сервер не требуется.
Измените параметры в файле values.yaml:
network.tls.enabled
— должно бытьtrue
;network.tls.secretName
— название секрета Kubernetes, который хранит TLS-сертификат.
Например:
yaml
host: testops.example.com
gateway:
service:
port: 8080
# ...
network:
ingress:
enabled: true
tls:
enabled: true
secretName: allure-tls
Настройка брандмауэра
Если вы используете брандмауэр, убедитесь, что входящий трафик разрешен.
Этот шаг можно выполнить разными способами в зависимости от используемого брандмауэра. Ниже приведены примеры для брандмауэров по умолчанию в разных дистрибутивах Linux. Пожалуйста, не забудьте поменять порт с 8080
на тот, который вы используете.
sh
sudo ufw allow 8080/tcp