Kaspersky Unified Monitoring and Analysis Platform

Дополнительные требования при развертывании Ядра в Kubernetes

Если вы планируете защитить сетевую инфраструктуру KUMA с помощью программы Kaspersky Endpoint Security for Linux, вам нужно сначала установить KUMA в кластере Kubernetes и только потом разворачивать Kaspersky Endpoint Security for Linux. При обновлении или удалении KUMA вам нужно предварительно остановить Kaspersky Endpoint Security for Linux с помощью команды:

systemctl stop kesl

При установке KUMA в отказоустойчивом варианте должны выполняться следующие требования:

  • Общие требования к установке программы.
  • На хостах, которые планируются под узлы кластера Kubernetes, не используются IP-адреса из следующих блоков Kubernetes:
    • serviceCIDR: 10.96.0.0/12;
    • podCIDR: 10.244.0.0/16.

    Для IP-адресов из блоков исключен трафик на прокси-серверы.

  • Каждый хост имеет уникальный идентификатор (/etc/machine-id).
  • На хостах установлен и включен инструмент для управления межсетевым экраном firewalld или uwf для внесения правил в iptables.
  • Установлен и настроен балансировщик нагрузки nginx (дополнительные сведения см. в документации балансировщика нагрузки nginx). Вы можете установить балансировщик нагрузки nginx с помощью одной из следующих команд:
    • sudo yum install nginx – для операционной системы Oracle Linux.
    • sudo apt install nginx-full – для операционной системы Astra Linux.
    • sudo apt install nginx libnginx-mod-stream – для операционной системы Ubuntu.
    • sudo yum install nginx nginx-all-modules – для операционной системы РЕД ОС.

    Если вы хотите, чтобы балансировщик нагрузки nginx был настроен автоматически в процессе установки KUMA, установите балансировщик нагрузки nginx и откройте к нему доступ по SSH так же, как для хостов кластера Kubernetes.

    Пример автоматически созданной конфигурации nginx

    Установщик создает файл конфигурации /etc/nginx/kuma_nginx_lb.conf, пример содержимого которого приведен ниже. Разделы upstream формируются динамически и содержат IP-адреса контроллеров кластера Kubernetes (в примере – 10.0.0.2-4 в разделах upstream kubeAPI_backend, upstream konnectivity_backend, controllerJoinAPI_backend) и IP-адреса рабочих узлов (в примере 10.0.1.2-3), для которых в файле инвентаря в переменной extra_args содержится значение "kaspersky.com/kuma-ingress=true".

    В конец файла /etc/nginx/nginx.conf дописывается строка "include /etc/nginx/kuma_nginx_lb.conf;", позволяющая применить сформированный файл конфигурации. При большом количестве активных сервисов и пользователей может понадобиться увеличить лимит открытых файлов в параметрах nginx.conf.

    Пример файла конфигурации:

    # Ansible managed

    #

    # LB KUMA cluster

    #

    stream {

        server {

            listen          6443;

            proxy_pass      kubeAPI_backend;

        }

        server {

            listen          8132;

            proxy_pass      konnectivity_backend;

        }

        server {

            listen          9443;

            proxy_pass      controllerJoinAPI_backend;

        }

        server {

            listen          7209;

            proxy_pass      kuma-core-hierarchy_backend;

            proxy_timeout   86400s;

        }

        server {

            listen          7210;

            proxy_pass      kuma-core-services_backend;

            proxy_timeout   86400s;

        }

        server {

            listen          7220;

            proxy_pass      kuma-core-ui_backend;

            proxy_timeout   86400s;

        }

        server {

            listen          7222;

            proxy_pass      kuma-core-cybertrace_backend;

            proxy_timeout   86400s;

        }

        server {

            listen          7223;

            proxy_pass      kuma-core-rest_backend;

            proxy_timeout   86400s;

        }

        upstream kubeAPI_backend {

            server 10.0.0.2:6443;

            server 10.0.0.3:6443;

            server 10.0.0.4:6443;

        }

        upstream konnectivity_backend {

            server 10.0.0.2:8132;

            server 10.0.0.3:8132;

            server 10.0.0.4:8132;

        }

        upstream controllerJoinAPI_backend {

            server 10.0.0.2:9443;

            server 10.0.0.3:9443;

            server 10.0.0.4:9443;

        }

        upstream kuma-core-hierarchy_backend {

            server 10.0.1.2:7209;

            server 10.0.1.3:7209;

        }

        upstream kuma-core-services_backend {

            server 10.0.1.2:7210;

            server 10.0.1.3:7210;

        }

        upstream kuma-core-ui_backend {

            server 10.0.1.2:7220;

            server 10.0.1.3:7220;

        }

        upstream kuma-core-cybertrace_backend {

            server 10.0.1.2:7222;

            server 10.0.1.3:7222;

        }

        upstream kuma-core-rest_backend {

            server 10.0.1.2:7223;

            server 10.0.1.3:7223;

    }

     worker_rlimit_nofile 1000000;

    events {

    worker_connections 20000;

    }

    # worker_rlimit_nofile – ограничение на максимальное число открытых файлов (RLIMIT_NOFILE) для рабочих процессов. Используется для увеличения ограничения без перезапуска главного процесса.

    # worker_connections – максимальное число соединений, которые одновременно может открыть рабочий процесс.

  • На сервере балансировщика нагрузки nginx добавлен ключ доступа с устройства, с которого осуществляется установка KUMA.
  • На сервере балансировщика нагрузки nginx в операционной системе не включен модуль SELinux.
  • На хостах установлены пакеты tar, systemctl.

При установке KUMA автоматически проверяется соответствие хостов следующим аппаратным требованиям:

  • Количество ядер CPU (потоков) – 12 или больше.
  • ОЗУ – 22528 МБ или больше.
  • Объем свободного пространства на диске в разделе /opt/ – 1000 ГБ или больше.
  • Если производится первичная установка, в /var/lib/ должно быть не менее 32GB свободного места. Если установка кластера на этот узел ранее уже проводилась, размер требуемого свободного пространства уменьшается на размер директории /var/lib/k0s.

Если условия не выполняются, установка прерывается. Проверку условий при установке для демонстрации можно выключить, указав в файле инвентаря переменную low_resources: true.

Дополнительные требования при установке на операционной системе Astra Linux или Ubuntu

  • Установка KUMA в отказоустойчивом варианте поддерживается на операционной системе Astra Linux Special Edition РУСБ.10015-01 (2022-1011SE17MD, оперативное обновление 1.7.2.UU.1). Требуется версия ядра 5.15.0.33 или выше.
  • На машинах, предназначенных для развертывания кластера Kubernetes, установлены следующие пакеты:
    • open-iscsi;
    • wireguard;
    • wireguard-tools.

    Вы можете установить пакеты с помощью команды:

    sudo apt install open-iscsi wireguard wireguard-tools

Дополнительные требования при установке на операционной системе Oracle Linux, РЕД ОС и на операционных системах Red Hat Enterprise Linux

На машинах, предназначенных для развертывания кластера Kubernetes, установлены следующие пакеты:

  • iscsi-initiator-utils;
  • wireguard-tools.

Перед установкой пакетов на операционной системе Oracle Linux вам нужно добавить репозиторий EPEL в качестве источника с помощью одной из следующих команд:

  • sudo yum install oracle-epel-release-el8 - для операционной системы Oracle Linux 8.
  • sudo yum install oracle-epel-release-el9 - для операционной системы Oracle Linux 9.

Вы можете установить пакеты с помощью команды:

sudo yum install iscsi-initiator-utils wireguard-tools

В начало
[Topic 244399]