Поддерживаемые аннотации подов¶
Sidecar-прокси решение Вебмониторэкс можно настраивать на уровне отдельных подов приложений с помощью аннотаций. Набор поддерживыемых аннотаций приведен в этом документе.
Приоритеты глобальных настроек и настроек на уровне подов
Аннотации на уровне подов приложений имеют приоритет над настройками values.yaml
.
Перед применением аннотации, добавьте к ее имени префикс sidecar.wallarm.io/
, например:
sidecar.wallarm.io/wallarm-mode: block
Список аннотаций¶
Аннотация и соответствующий параметр Helm-чарта | Описание |
---|---|
Аннотация: sidecar-injection-schema config.injectionStrategy.schema | Модель деплоя контейнеров Вебмониторэкс: single (по умолчанию) или split . |
Аннотация: sidecar-injection-iptables-enable config.injectionStrategy.iptablesEnable | Необходимость запуска init-контейнера iptables : true (по умолчанию) или false . |
Аннотация: wallarm-application Нет параметра Helm-чарта | ID приложения в Вычислительном кластере Вебмониторэкс. |
Аннотация: wallarm-block-page Нет параметра Helm-чарта | Страница блокировки и код ошибки, которые возвращаются в ответ на заблокированный запрос. |
Аннотация: wallarm-enable-libdetection config.wallarm.enableLibDetection | Дополнительная валидация атак типа SQL-инъекций с помощью библиотеки libdetection: on (по умолчанию) или off . |
Аннотация: wallarm-fallback config.wallarm.fallback | Аварийный режим для модулей Вебмониторэкс: on (по умолчанию) или off . |
Аннотация: wallarm-mode config.wallarm.mode | Режим фильтрации трафика: monitoring (по умолчанию), safe_blocking , block или off . |
Аннотация: wallarm-mode-allow-override config.wallarm.modeAllowOverride | Управляет возможностью переопределять значение директивы wallarm_mode через правила, выгружаемые из Вычислительного кластера: on (по умолчанию), off или strict . |
Аннотация: wallarm-parser-disable Нет параметра Helm-чарта | Парсеры, которые необходимо отключить при анализе запросов. Значение директивы должно соответствовать названию парсера, который необходимо отключить, например: json . Для разделения нескольких парсеров используйте точку с запятой, например: json;base64 . |
Аннотация: wallarm-parse-response config.wallarm.parseResponse | Флаг для включения / выключения анализа ответов приложения: on (по умолчанию) или off . Анализ ответов необходим для определения уязвимостей приложения с помощью пассивного обнаружения и активной проверки атак. |
Аннотация: wallarm-parse-websocket config.wallarm.parseWebsocket | Вебмониторэкс полностью поддерживает WebSockets. По умолчанию сообщения WebSockets не анализируются на предмет атак. Чтобы включить поиск атак в сообщениях WebSockets, задайте значение on в этой аннотации. По умолчанию аннотация имеет значение off . |
Аннотация: wallarm-unpack-response config.wallarm.unpackResponse | Флаг для включения / выключения распаковки сжатых данных, полученных в ответе приложения: on (по умолчанию) или off . |
Аннотация: wallarm-upstream-connect-attempts config.wallarm.upstream.connectAttempts | Количество немедленных попыток повторного соединения с Tarantool или Вебмониторэкс API. |
Аннотация: wallarm-upstream-reconnect-interval config.wallarm.upstream.reconnectInterval | Интервал между попытками переподключения к Tarantool или Вебмониторэкс API после того, как количество неудачных попыток превысило порог. |
Аннотация: application-port config.nginx.applicationPort | Если сервисы Вебмониторэкс не обнаружили открытые порты, на которые поступает трафик приложения, контейнер Вебмониторэкс ожидает трафик на этом порте. |
Аннотация: nginx-listen-port config.nginx.listenPort | Порт контейнера Вебмониторэкс. Значение не должно совпадать с application-port . |
Аннотация: nginx-http-include Нет параметра Helm-чарта | Массив путей до примонтированных файлов с конфигурацией, которую необходимо вставить в блок http NGINX. |
Аннотация: nginx-http-snippet Нет параметра Helm-чарта | Строка с конфигурацией, которую необходимо вставить в блок http NGINX. |
Аннотация: nginx-server-include Нет параметра Helm-чарта | Массив путей до примонтированных файлов с конфигурацией, которую необходимо вставить в блок server NGINX. |
Аннотация: nginx-server-snippet Нет параметра Helm-чарта | Строка с конфигурацией, которую необходимо вставить в блок server NGINX. |
Аннотация: nginx-location-include Нет параметра Helm-чарта | Массив путей до примонтированных файлов с конфигурацией, которую необходимо вставить в блок location NGINX. |
Аннотация: nginx-location-snippet Нет параметра Helm-чарта | Строка с конфигурацией, которую необходимо вставить в блок location NGINX. |
Аннотация: nginx-extra-modules Нет параметра Helm-чарта | Массив из имен дополнительных модулей NGINX. |
Аннотация: proxy-extra-volumes Нет параметра Helm-чарта | Volumes, которые необходимо примонтировать в sidecar-контейнер (массив). |
Аннотация: proxy-extra-volume-mounts Нет параметра Helm-чарта | Volume mounts, которые необходимо примонтировать в sidecar-контейнер (массив). |
Аннотация: proxy-cpu config.sidecar.containers.proxy.resources.requests.cpu | Запрашиваемые ресурсы CPU для контейнера sidecar-proxy . |
Аннотация: proxy-memory config.sidecar.containers.proxy.resources.requests.memory | Запрашиваемая память для контейнера sidecar-proxy . |
Аннотация: proxy-cpu-limit config.sidecar.containers.proxy.resources.limits.cpu | Лимит CPU для контейнера sidecar-proxy . |
Аннотация: proxy-memory-limit config.sidecar.containers.proxy.resources.limits.memory | Лимит памяти для контейнера sidecar-proxy . |
Аннотация: helper-cpu config.sidecar.containers.helper.resources.requests.cpu | Запрашиваемые ресурсы CPU для контейнера sidecar-helper . |
Аннотация: helper-memory config.sidecar.containers.helper.resources.requests.memory | Запрашиваемая память для контейнера sidecar-helper . |
Аннотация: helper-cpu-limit config.sidecar.containers.helper.resources.limits.cpu | Лимит CPU для контейнера sidecar-helper . |
Аннотация: helper-memory-limit config.sidecar.containers.helper.resources.limits.memory | Лимит памяти для контейнера sidecar-helper . |
Аннотация: init-iptables-cpu config.sidecar.initContainers.iptables.resources.requests.cpu | Запрашиваемые ресурсы CPU для контейнера sidecar-init-iptables . |
Аннотация: init-iptables-memory config.sidecar.initContainers.iptables.resources.requests.memory | Запрашиваемая память для контейнера sidecar-init-iptables . |
Аннотация: init-iptables-cpu-limit config.sidecar.initContainers.iptables.resources.limits.cpu | Лимит CPU для контейнера sidecar-init-iptables . |
Аннотация: init-iptables-memory-limit config.sidecar.initContainers.iptables.resources.limits.memory | Лимит памяти для контейнера sidecar-init-iptables . |
Аннотация: init-helper-cpu config.sidecar.initContainers.helper.resources.requests.cpu | Запрашиваемые ресурсы CPU для контейнера sidecar-init-helper . |
Аннотация: init-helper-memory config.sidecar.initContainers.helper.resources.requests.memory | Запрашиваемая память для контейнера sidecar-init-helper . |
Аннотация: init-helper-cpu-limit config.sidecar.initContainers.helper.resources.limits.cpu | Лимит CPU для контейнера sidecar-init-helper . |
Аннотация: init-helper-memory-limit config.sidecar.initContainers.helper.resources.limits.memory | Лимит памяти для контейнера sidecar-init-helper . |
Вебмониторэкс поддерживает и другие директивы NGINX, для которых нет отдельных аннотаций. Вы можете задать любые из них с помощью аннотаций nginx-*-snippet
и nginx-*-include
.
Как использовать аннотации?¶
Чтобы применить аннотацию к поду, задайте ее в конфигурации соответствующего объекта Deployment
, например:
kubectl edit deployment -n <KUBERNETES_NAMESPACE> <APP_LABEL_VALUE>
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
wallarm-sidecar: enabled
annotations:
sidecar.wallarm.io/wallarm-mode: block
spec:
containers:
- name: application
image: kennethreitz/httpbin
ports:
- name: http
containerPort: 80