Uso de una base de datos de PostgreSQL externa

En Kaspersky Container Security, puede usar las bases de datos de PostgreSQL incluidas en la solución con su propia base de datos de PostgreSQL. Para instalar una base de datos de PostgreSQL externa que no funcione en un esquema con Kaspersky Container Security, debe crear otro usuario. Para ello, puede instalar el paquete de Helm Chart con los parámetros del esquema especificados para la base de datos de PostgreSQL externa.

Para utilizar una base de datos externa de PostgreSQL, realice lo siguiente:

  1. Especifique los siguientes datos en el archivo de configuración values.yaml:

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

    --set configmap.infraconfig.envs.postgres_host="<dirección IP o FQDN del DBMS de PostgresSQL>"

    --set configmap.infraconfig.envs.postgres_port="<puerto para conectarse al DBMS de PostgreSQL; de manera predeterminada, se utiliza el puerto 5432>"

    --set configmap.infraconfig.envs.postgres_db_name="nombre de la base de datos creada por el administrador del DBMS de PostgreSQL; de manera predeterminada, se usa api>"

  2. Pídale al administrador del DBMS de PostgreSQL que le aclare los requisitos para la verificación de los certificados del servidor del DBMS. Kaspersky Container Security admite los siguientes modos de verificación:
    • --set configmap.infraconfig.envs.postgres_verify_level = "disable": el certificado del servidor no está verificado.
    • --set configmap.infraconfig.envs.postgres_verify_level= "require": el certificado es obligatorio; la solución confía en cualquier certificado sin ninguna otra verificación.
    • --set configmap.infraconfig.envs.postgres_verify_level= "verify-ca": el certificado es obligatorio; la solución verifica que una CA (autoridad de certificación) de confianza haya emitido el certificado.
    • --set configmap.infraconfig.envs.postgres_verify_level= "verify-full": el certificado es obligatorio; la solución verifica que una CA de confianza haya emitido el certificado y que el certificado contenga la dirección IP o FQDN correctos.
  3. Si necesita verificar el certificado de un DBMS de PostgreSQL externo, siga estos pasos:
    1. Cargue la parte pública del certificado de la CA en la carpeta que contiene el paquete de Helm Chart con la máscara certs/pgsql-ca.crt.
    2. Especifique el siguiente parámetro de verificación: --set configmap.infraconfig.envs.postgres_root_ca_path="/etc/ssl/certs/pgsql-ca.crt".
    3. Quite las marcas de comentarios en la sección secret.cert-pgsql-ca en el archivo de configuración values.yaml para crear el secreto.

Para crear un usuario con un esquema personalizado para una base de datos de PostgreSQL externa:

  1. Ejecute el siguiente comando para crear un espacio de nombres independiente para la base de datos de PostgreSQL externa:

    kubectl create ns kcspg

    donde kcspg es el espacio de nombres de la base de datos de PostgreSQL externa.

  2. Para desplegar una base de datos de PostgreSQL externa:
    1. Especifique en el archivo de configuración pg.yaml los parámetros para desplegar la base de datos de PostgreSQL externa.

      Parámetros para desplegar la base de datos de PostgreSQL externa

      Los parámetros especifican la contraseña de la base de datos. Luego, debe especificar esta contraseña en la sección infraconfig del archivo de configuración values.yaml, que forma parte del paquete de Helm Chart incluido en el kit de distribución de la solución.

    2. Ejecute el siguiente comando:

      kubectl apply -f pg.yaml -n kcspg

    El nombre de la base de datos está compuesto de la siguiente manera:

    <nombre_del_pod>.<espacio_de_nombres>.<servicio>.cluster.local

    Por ejemplo: postgres.kcspg.svc.cluster.local.

  3. Para desplegar un objeto Service en un clúster:
    1. Especifique los parámetros del despliegue de un objeto Service en el archivo de configuración svc.yaml.

      Parámetros para desplegar un objeto Service en un clúster

    2. Ejecute el siguiente comando:

      kubectl apply -f svc.yaml -n kcspg

  4. Para crear un usuario, un esquema y una relación usuario-esquema:
    1. Inicie sesión en el pod con el elemento postgres expandido del paso 2b.
    2. Inicie la terminal interactiva psql:

      psql -h localhost -U postgres -d api

    3. Ejecute los siguientes comandos:

      CREATE ROLE kks LOGIN PASSWORD 'kks' NOINHERIT CREATEDB;

      CREATE SCHEMA kks AUTHORIZATION kks;

      GRANT USAGE ON SCHEMA kks TO PUBLIC;

  5. En el archivo de configuración values.yaml, especifique los parámetros necesarios para usar una base de datos de PostgreSQL externa.

    Parámetros en el archivo values.yaml

    Los valores de los parámetros especificados en el archivo values.yaml deben coincidir con los valores de los parámetros correspondientes en los archivos de configuración pg.yaml y svc.yaml.

  6. Actualice la solución.

    Ejemplo de los comandos usados para crear un usuario para una base de datos de PostgreSQL externa

Inicio de página