Установка ТестОпс в закрытой сети: Kubernetes (helm-чарт)

Последние изменения: 17.09.2026

Инструкция для развертывания и обновления ТестОпс в Kubernetes без доступа контура к интернету: как скачать артефакты на компьютере с интернетом, перенести их в закрытую сеть и установить. Аналогичная инструкция для Docker Compose — в отдельной статье.

Понадобятся: учетные данные к реестрам qatools (выдаются клиентам вместе с лицензией), компьютер с доступом к интернету и Docker, а в закрытом контуре — собственный реестр образов и Kubernetes 1.20 или новее.

Шаг 1. Загрузка артефактов на компьютере с доступом к интернету

Для Kubernetes нужны Docker-образ приложения и helm-чарт.

1. Авторизуйтесь в реестре Docker:

docker login reg.qatools.ru -u <ваш_логин> -p <ваш_пароль>

2. Скачайте образ нужной версии (замените <версия> на актуальную, например 527u03):

docker pull reg.qatools.ru/testops/testops:<версия>

3. Сохраните образ в файл:

docker save reg.qatools.ru/testops/testops:<версия> | gzip > testops_<версия>.tar.gz

4. Скачайте helm-чарт. Версия чарта отличается от версии приложения; актуальный номер посмотрите в списке версий чарта (нужна авторизация теми же учетными данными):

wget --user <ваш_логин> --password <ваш_пароль> https://dl.qatools.ru/repository/helm-charts/testops-<версия_чарта>.tgz

Шаг 2. Перенос в закрытую сеть

Перенесите два файла (архив образа и testops-<версия_чарта>.tgz) на компьютер в закрытой сети любым принятым у вас способом.

Шаг 3. Загрузка образа в реестр закрытой сети

Задача шага — опубликовать образ из перенесенного архива в вашем реестре. Ниже — вариант с Docker; если Docker на машине в закрытом контуре не используется, подойдет любой инструмент, умеющий загружать docker-архив в реестр (например, skopeo или crane), — тогда пункты 1–2 заменяются одной операцией копирования архива в реестр.

1. Загрузите образ в Docker:

docker load < testops_<версия>.tar.gz

2. Перетегируйте образ под ваш реестр и опубликуйте его:

docker tag reg.qatools.ru/testops/testops:<версия> ваш-реестр.example.com/testops/testops:<версия>
docker push ваш-реестр.example.com/testops/testops:<версия>

Шаг 4. Установка чарта

1. В values.yaml укажите ваш реестр в секции image:

image:
  registry: ваш-реестр.example.com
  repository: testops
  imageName: testops
  authRequired:
    enabled: true    # если ваш реестр требует авторизацию
    username: ...
    password: ...

Шаблон values.yaml находится внутри архива чарта; полное описание параметров — в документации по установке в Kubernetes.

2. Установите чарт из локального файла (репозиторий helm не нужен):

helm upgrade --install testops ./testops-<версия_чарта>.tgz -f values.yaml --namespace testops --create-namespace

Важно для закрытого контура

Не включайте развертывание зависимостей из чарта. В производственной среде PostgreSQL, RabbitMQ, Redis и S3-хранилище должны быть развернуты в вашей инфраструктуре, а в values оставаться выключенными (postgresql.enabled: false и аналогично для остальных). Включение зависимостей потребует сторонних образов из docker.io, недоступных в закрытой сети.

Служебный образ проверки БД. Перед стартом приложения чарт запускает init-контейнер, ожидающий готовности базы данных; его образ задается ключом databaseInit.image и по умолчанию равен postgres:15 с docker.io. В закрытой сети перенесите этот образ в свой реестр той же процедурой (pull → save → load → push) и укажите его адрес в databaseInit.image, либо укажите любой доступный в вашем реестре образ с утилитой pg_isready. Если используете собственные сертификаты (certificates.configmapName), аналогично понадобится образ amazoncorretto:17.

Обновление версии выполняется той же процедурой: скачать образы новой версии и, при необходимости, новую версию чарта → перенести → опубликовать в свой реестр → helm upgrade с обновленным тегом версии в values.

Помогла ли вам статья?