Перейти к содержанию

Установка ноды в кластере Kubernetes

Инструкция описывает процесс установки ноды ПроAPI Защита в Kubernetes.

Доступ и получение данных

  • Выполните команду для авторизации в Registry:

    helm registry login registry.webmonitorx.ru
    

  • Получите последнюю версию архива с данными и распакуйте его:

    helm pull oci://registry.webmonitorx.ru/api-firewall/charts/api-firewall
    tar -xf api-firewall*.tgz
    

Конфигурация

  • Сконфигурируйте чарт в файле api-firewall/values.yaml, полученный из архива:
    helm install api-firewall-node . -f values.yaml
    

Обратите внимание

В текущей конфигурации используется механизм extraVolumeMounts для подключения дополнительных томов. При этом шаблон deployment.yaml требует обязательного наличия секции manifest, даже если она не используется.
Секция в конфигурации используется со следующими параметрами:
• enabled: false (функциональность отключена)
• остальные параметры пустые

    ## Main settings of API Firewall
    config:
        mode: PROXY
        serverUrl: "http://mock-api-service" # Имя защищаемого Mock API Service
        listenAddress: 0.0.0.0
        listenPort: 8080
        listenScheme: "http"
        maxConnsPerHost: 512
        passOptions: false
        timeouts:
        dial: "200ms"
        readFromBackend: "5s"
        writeToBackend: "5s"
        validationMode:
        request: block
        response: block
        shadowAPI:
        excludeList: "404"
        unknownParametersDetection: true
        logLevel: "INFO"
        manager:
        enabled: true # Включен менеджер
        address: "api-firewall-manager:8081" # Адрес менеджера с указанием порта gRPC
        key: "740163ec-4a26-4d73-9a9c-96b6f0fc928c" # ID приложения, при его создании в менеджере
        licenseKey: "YOUR_LICENSE_KEY" # Ключ лицензии (ОБЯЗАТЕЛЬНО К ЗАПОЛНЕНИЮ)
        setRealIpFrom: "10.244.1.199" # Внутренний IP-адрес ingress-nginx-controller
        realIpHeader: "X-Real-IP" # Указан заголовок X-Real-IP
        realipRecursive: false
        clientCaFile: "" # "/etc/ssl/certs/grpc-ca-cert.pem"
        clientCertFile: "" # "/etc/ssl/certs/grpc-client-cert.pem"
        clientKeyFile: "" # "/etc/ssl/certs/grpc-client-key.pem"
        blockOnParsingFailed: false

    ## Volumes that should be mounted to the API Firewall container
    ##
    extraVolumeMounts:
        - name: api-spec-volume # Монтирование ConfigMap со спецификацией
        mountPath: /opt/sample-api.json
        subPath: sample-api.json

    ## Volumes that should be mounted to this pod
    ##
    extraVolumes:
        - name: api-spec-volume # Объявление Volume из ConfigMap
        configMap:
            name: api-spec-config # Имя вашего ConfigMap

    manifest:
    enabled: false
    url: ""
    body: ""