Часто встречающиеся проблемы и пути их устранения#

Отсутствует расширение pg_stat_statements для сбора данных о метриках#

Решение:

Выполните команду на наблюдаемой БД:

ALTER ROLE <pg_user> SET search_path TO ext;
CREATE EXTENSION IF NOT EXISTS pg_stat_statements SCHEMA ext;

Возникают ошибки с pgcrypto в процессе добавления кластера во вкладке «Кластеры»#

Решение:

Выполните команду на наблюдаемой БД:

CREATE EXTENSION IF NOT EXISTS pgcrypto SCHEMA meta;

Возникают ошибки во время запуска компонента tsdbmon#

Решение:

  • Удостоверьтесь, что хранилище метрик предварительно инициализировано.

  • Определите параметр search_path для корректной работы компонента с таблицами схем данных metrics и _prom_catalog:

    ALTER ROLE <pg_user> SET search_path TO metrics, _prom_catalog;
    

Возникает ошибка установки защищенного соединения Istio к URI OIDC-провайдера#

Решение:

Добавьте в Istio pilot корневой сертификат в качестве доверенного в файле /cacerts/extra.pem.

Проблемы с доступом модулей Kintsugi к внешним по отношению к service mesh ресурсам (в том числе управляемым БД)#

Решение:

Сконфигурируйте сетевые политики с помощью Service Entry (Istio).

Примечание

По умолчанию любой трафик к внешним ресурсам запрещен.

Для создания разрешающего правила укажите в конфигурации Service Entry:

  • IP-адрес/доменное имя хоста;

  • протокол;

  • порт.

Пример конфигурации для внешнего соединения:

kind: ServiceEntry
apiVersion: networking.istio.io/v1alpha3
metadata:
    name: kintsugi-example
spec:
    hosts:
    - "*.solution.test"
    - "10.xx.xx.xx/xx"
    ports:
    - name: tcp-postgres
        number: 5555
        protocol: tcp
    location: MESH_EXTERNAL
    exportTo:
    - '.'

Приведенная конфигурация создает разрешающее правило для TCP-трафика на порт 5555 для хостов поддомена solution.test и хоста с IP-адресом 10.xx.xx.xx.

Детальное описание конфигурации политик Service Entry можно найти на странице официальной документации Istio.

Контекст:

При обращении пользователя через браузер на ресурс http://$host/frontend возникает ошибка 400 Bad Request: Request Header Or Cookie To Large (Request header too long)

Это происходит, когда размер заголовка и/или cookie в запросе превышает максимально допустимое значение, установленное веб-сервером.

Решение:

Переопределите неиспользуемые заголовки и/или cookie на проксирующем узле.

Пример конфигурации (nginx/syngx) для фильтрации:

  • специфических cookie:

    proxy_set_header Cookie "PLATFORM_SESSION=0";
    proxy_set_header Cookie "PLATFORM_SESSION_2=0";
    proxy_set_header Cookie "PLATFORM_SESSION_ID=0";
    
  • всех cookie:

    proxy_set_header Cookie "";