Подключение к внешним ресурсам для хранения данных

04 сентября 2026

ID 298985

Развернуть всё | Свернуть всё

Кроме компонентов Kaspersky Container Security, которые входят в комплект поставки, решение может также работать со следующими внешними ресурсами для хранения данных:

  • База данных PostgreSQL.
  • СУБД ClickHouse.
  • s3-совместимое файловое хранилище.

Настройка параметров подключения к внешним ресурсам для хранения данных осуществляется с помощью конфигурационного файла values.yaml.

Использование внешней базы данных PostgreSQL

При работе с Kaspersky Container Security вы можете использовать базы данных PostgreSQL в составе решения или собственные базы данных PostgreSQL. Для установки внешней базы данных PostgreSQL, которая не работает со схемой Kaspersky Container Security, требуется создать отдельного пользователя. Вы можете сделать это с помощью установки пакета Helm Chart с заданными параметрами схемы для внешней базы данных PostgreSQL.

Чтобы использовать внешнюю СУБД PostgreSQL:

  1. В конфигурационном файле values.yaml укажите следующее:

    --set default.postgresql.external="true"

    --set configmap.infraconfig.envs.postgres_host="<IP-адрес или FQDN СУБД PostgreSQL>"

    --set configmap.infraconfig.envs.postgres_port="<порт для подключения к СУБД PostgreSQL, по умолчанию используется порт 5432>"

    --set configmap.infraconfig.envs.postgres_db_name="<имя созданной администратором СУБД PostgreSQL базы данных, по умолчанию используется api>"

  2. Уточните у администратора СУБД PostgreSQL требования к проверке сертификатов сервера СУБД. Kaspersky Container Security поддерживает следующие режимы проверки:
    • --set configmap.infraconfig.envs.postgres_verify_level= "disable” – сертификат сервера не проверяется.
    • --set configmap.infraconfig.envs.postgres_verify_level= "verify-ca” – сертификат требуется, решение проверяет, что сертификат выпущен доверенным удостоверяющим центром (англ. Certificate authority).
    • --set configmap.infraconfig.envs.postgres_verify_level= "verify-full” – сертификат требуется, решение проверяет, что сертификат выпущен доверенным удостоверяющим центром и содержит верный IP-адрес или FQDN.
  3. Если требуется проверять сертификат внешней СУБД PostgreSQL, выполните следующие действия:
    1. Загрузите открытую часть CA-сертификата в папку, в которой находится пакет Helm Chart, по маске certs/pgsql-ca.crt.
    2. Укажите следующий параметр проверки: --set configmap.infraconfig.envs.postgres_root_ca_path="/etc/ssl/certs/pgsql-ca.crt".
    3. Раскомментируйте блок secret.cert-pgsql-ca в конфигурационном файле values.yaml для создания секрета.

Чтобы создать пользователя с индивидуальной схемой для внешней базы данных PostgreSQL:

  1. Выполните следующую команду для создания отдельного пространства имен для внешней базы данных PostgreSQL:

    kubectl create ns kcspg

    где kcspg – пространство имен для внешней базы данных PostgreSQL.

  2. Выполните следующие действия для развертывания внешней базы данных PostgreSQL:
    1. Укажите параметры для развертывания внешней базы данных PostgreSQL в конфигурационном файле pg.yaml.

      Параметры для развертывания внешней базы данных PostgreSQL

      В параметрах задается пароль к базе данных. Этот пароль затем требуется указать в разделе infraconfig конфигурационного файла values.yaml, который входит в состав пакета Helm Chart в комплекте поставки решения.

    2. Выполните следующую команду:

      kubectl apply -f pg.yaml -n kcspg

    Название этой внешней базы данных формируется следующим образом:

    <имя_пода>.<название пространства имен>.<сервис>.cluster.local

    Например, postgres.kcspg.svc.cluster.local

  3. Выполните следующие действия для развертывания объекта Service в кластере:
    1. Укажите параметры для развертывания объекта Service в конфигурационном файле svc.yaml.

      Параметры для развертывания объекта Service в кластере

    2. Выполните следующую команду:

      kubectl apply -f svc.yaml -n kcspg

  4. Выполните следующие действия для создания пользователя, применяемой схемы и связи пользователя и схемы:
    1. С помощью развернутого на шаге 2b элемента postgres зайдите в под.
    2. Запустите интерактивный терминал psql с помощью следующей команды:

      psql -h localhost -U postgres -d api

    3. Выполните следующие команды:

      CREATE ROLE kks LOGIN PASSWORD 'kks' NOINHERIT CREATEDB;

      CREATE SCHEMA kks AUTHORIZATION kks;

      GRANT USAGE ON SCHEMA kks TO PUBLIC;

  5. В конфигурационном файле values.yaml укажите параметры для использования внешней базы PostgreSQL.

    Параметры в файле values.yaml

    Значения параметров, указанных в values.yaml, должны совпадать со значениями сходных параметров в конфигурационных файлах pg.yaml и svc.yaml.

  6. Запустите обновление решения.

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

Для шифрования конфиденциальной информации в базе данных PostgreSQL в Kaspersky Container Security используется переменная APP_SECRET. Значение этой переменной можно указать следующим образом:

  • задать непосредственно в конфигурационном файле (values.yaml, блок System secrets);
  • сохранить в хранилище секретов HashiCorp Vault и указать путь до него в пакете Helm Chart, например:

    APP_SECRET: kv/secret/kcs/appsecret@APP_SECRET

Значение переменной APP_SECRET указывается в виде открытого незашифрованного текста. Минимальная длина секрета – 32 знака.

Необходимо обеспечить сохранность, не изменять и не удалять значение переменной APP_SECRET, а также не удалять пространство имен, в котором была создана эта переменная. Если значение переменной APP_SECRET будет изменено или удалено, базу данных PostgreSQL нужно будет создать заново.

Использование внешней СУБД ClickHouse

Кроме СУБД ClickHouse, которая является компонентом Kaspersky Container Security и входит в комплект поставки, решение может также работать с ресурсами внешней СУБД ClickHouse. Для этого необходимо выполнить следующее:

  • Создать базу данных для Kaspersky Container Security, добавить и настроить пользователей, а также определить политику работы с дисками, если разные диски используются для долгосрочного и краткосрочного хранения данных.

    Создание базы данных для решения

    Настройка параметров внешней базы данных ClickHouse

    Ограничение объема данных для получения из ClickHouse

    Использование файловой системы XFS

  • Указать необходимые значения переменных в конфигурационном файле values.yaml для внешней СУБД ClickHouse.

Kaspersky Container Security работает с СУБД ClickHouse 25.*.

s3-совместимое файловое хранилище

Чтобы настроить параметры Kaspersky Container Security для использования внешнего s3-совместимого файлового хранилища:

  1. В конфигурационном файле values.yaml укажите, что решение использует внешнее s3-совместимое файловое хранилище:

    default:

    kcs-s3:

    external: true

  2. Укажите значения переменных для использования s3-совместимого файлового хранилища:

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...<переменные для использования внешнего s3-совместимого файлового хранилища>

    В этом разделе необходимо указать следующие переменные:

    • S3_HOST – хост для подключения к s3-совместимому файловому хранилищу.
    • S3_PORT – порт для подключения к s3-совместимому файловому хранилищу.
    • S3_BUCKET_NAME – имя раздела в s3-совместимом файловом хранилище, выделенного для хранения данных Kaspersky Container Security.
    • S3_SSL – переменная для подключения к s3-совместимому файловому хранилищу с использованием ssl (в том числе с помощью протокола https).

      Если переменная TLS_INTERNAL имеет значение false, значение S3_SSL также должно быть false.

    • S3_ROOT_CA_PATH – путь до CA-сертификата, который указывается в случае использования протокола https (S3_SSL: true) для подключения к s3-совместимому файловому хранилищу. Вы можете указать путь одним из следующих способов:
  3. Укажите значения секретов для использования внешнего s3-совместимого файлового хранилища:

    configmap:

    secret:

    infracreds:

    type: fromEnvs

    envs:

    ...<секреты для использования внешнего s3-совместимого файлового хранилища>

    В этом разделе необходимо указать следующее:

    • S3_ROOT_USER - имя пользователя s3-совместимого файлового хранилища, выделенного для Kaspersky Container Security.
    • S3_ROOT_PASSWORD - пароль пользователя s3-совместимого файлового хранилища, выделенного для Kaspersky Container Security.

    Имена пользователей и пароли к ним также можно указать с помощью хранилища секретов Vault.

Пример настройки параметров внешнего s3-совместимого файлового хранилища

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!