Подключение к внешним ресурсам для хранения данных
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:
- В конфигурационном файле 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>" - Уточните у администратора СУБД 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.
- Если требуется проверять сертификат внешней СУБД PostgreSQL, выполните следующие действия:
- Загрузите открытую часть CA-сертификата в папку, в которой находится пакет Helm Chart, по маске
certs/pgsql-ca.crt. - Укажите следующий параметр проверки:
--set configmap.infraconfig.envs.postgres_root_ca_path="/etc/ssl/certs/pgsql-ca.crt". - Раскомментируйте блок
secret.cert-pgsql-caв конфигурационном файле values.yaml для создания секрета.
- Загрузите открытую часть CA-сертификата в папку, в которой находится пакет Helm Chart, по маске
Чтобы создать пользователя с индивидуальной схемой для внешней базы данных PostgreSQL:
- Выполните следующую команду для создания отдельного пространства имен для внешней базы данных PostgreSQL:
kubectl create ns kcspg
где
kcspg– пространство имен для внешней базы данных PostgreSQL. - Выполните следующие действия для развертывания внешней базы данных PostgreSQL:
- Укажите параметры для развертывания внешней базы данных PostgreSQL в конфигурационном файле pg.yaml.
Параметры для развертывания внешней базы данных PostgreSQL
В параметрах задается пароль к базе данных. Этот пароль затем требуется указать в разделе
infraconfigконфигурационного файла values.yaml, который входит в состав пакета Helm Chart в комплекте поставки решения. - Выполните следующую команду:
kubectl apply -f pg.yaml -n kcspg
Название этой внешней базы данных формируется следующим образом:
<имя_пода>.<название пространства имен>.<сервис>.cluster.localНапример,
postgres.kcspg.svc.cluster.local - Укажите параметры для развертывания внешней базы данных PostgreSQL в конфигурационном файле pg.yaml.
- Выполните следующие действия для развертывания объекта Service в кластере:
- Укажите параметры для развертывания объекта Service в конфигурационном файле svc.yaml.
- Выполните следующую команду:
kubectl apply -f svc.yaml -n kcspg
- Выполните следующие действия для создания пользователя, применяемой схемы и связи пользователя и схемы:
- С помощью развернутого на шаге 2b элемента postgres зайдите в под.
- Запустите интерактивный терминал psql с помощью следующей команды:
psql -h localhost -U postgres -d api - Выполните следующие команды:
CREATE ROLE kks LOGIN PASSWORD 'kks' NOINHERIT CREATEDB;CREATE SCHEMA kks AUTHORIZATION kks;GRANT USAGE ON SCHEMA kks TO PUBLIC;
- В конфигурационном файле values.yaml укажите параметры для использования внешней базы PostgreSQL.
Значения параметров, указанных в values.yaml, должны совпадать со значениями сходных параметров в конфигурационных файлах pg.yaml и svc.yaml.
- Запустите обновление решения.
Пример выполнения команд для создания пользователя с внешней базой данных 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
- Указать необходимые значения переменных в конфигурационном файле values.yaml для внешней СУБД ClickHouse.
Kaspersky Container Security работает с СУБД ClickHouse 25.*.
s3-совместимое файловое хранилище
Чтобы настроить параметры Kaspersky Container Security для использования внешнего s3-совместимого файлового хранилища:
- В конфигурационном файле values.yaml укажите, что решение использует внешнее s3-совместимое файловое хранилище:
default:
kcs-s3:
external: true
- Укажите значения переменных для использования s3-совместимого файлового хранилища:
configmap:infraconfig:type: fromEnvsenvs:...<переменные для использования внешнего 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-совместимому файловому хранилищу. Вы можете указать путь одним из следующих способов:- Разместить CA-сертификат хранилища по указанному пути. В этом случае нужно раскомментировать блок
secret.cert-s3-ca. - Использовать Vault для хранения данных сертификата. В этом случае нужно раскомментировать блок
cert-s3-caв разделеvault.certificate.
- Разместить CA-сертификат хранилища по указанному пути. В этом случае нужно раскомментировать блок
- Укажите значения секретов для использования внешнего s3-совместимого файлового хранилища:
configmap:secret:infracreds:type: fromEnvsenvs:...<секреты для использования внешнего s3-совместимого файлового хранилища>В этом разделе необходимо указать следующее:
S3_ROOT_USER- имя пользователя s3-совместимого файлового хранилища, выделенного для Kaspersky Container Security.S3_ROOT_PASSWORD- пароль пользователя s3-совместимого файлового хранилища, выделенного для Kaspersky Container Security.
Имена пользователей и пароли к ним также можно указать с помощью хранилища секретов Vault.
Пример настройки параметров внешнего s3-совместимого файлового хранилища