Установка ноды в кластере 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: ""