Настройка

ANIC настраивается путём изменения параметров ConfigMap и Annotation:

Пример ConfigMap
$ kubectl apply -f - <<EOF
kind: ConfigMap
apiVersion: v1
metadata:
  name: angie-config
  namespace: angie-ingress
data:
  proxy-connect-timeout: "10s"
   proxy-read-timeout: "10s"
   client-max-body-size: "2m"
EOF

Параметры Ingress Controller

external-status-address

Задаёт адрес, который выводится в статусе Ingress ресурса. Имеет приоритет над аргументом командной строки -external-service.

Общие параметры

Параметр

Описание

Умолчание

proxy-connect-timeout

Задаёт значение proxy_connect_timeout и grpc_connect_timeout.

60s

proxy-read-timeout

Задаёт значение proxy_read_timeout и grpc_read_timeout

60s

proxy-send-timeout

Задаёт значение proxy_send_timeout и grpc_send_timeout

60s

client-max-body-size

Задаёт значение client_max_body_size

1m

proxy-buffering

Включает или отключает буферизацию ответа от проксируемого сервера

True

proxy-buffers

Задаёт значение proxy_buffers

Зависит от платформы

proxy-buffer-size

Задаёт значение proxy_buffer_size и grpc_buffer_size

Зависит от платформы

proxy-max-temp-file-size

Задаёт значение proxy_max_temp_file_size

1024m

set-real-ip-from

Задаёт значение set_real_ip_from

Нет

real-ip-header

Задаёт значение real_ip_header

X-Real-IP

real-ip-recursive

Включает или отключает real_ip_recursive

False

default-server-return

Настраивает ответ в сервере по умолчанию, который перехватывает клиентский запрос, если для запроса не был определен ресурс Ingress или VirtualServer. Можно установить фиксированный ответ или перенаправление запроса.

Страница с ошибкой HTTP 404

server-tokens

Включает или отключает server_tokens

True

worker-processes

Задаёт значение worker_processes

auto

worker-rlimit-nofile

Задаёт значение worker_rlimit_nofile

Нет

worker-connections

Задаёт значение worker_connections

1024

worker-cpu-affinity

Задаёт значение worker_cpu_affinity

Нет

worker-shutdown-timeout

Задаёт значение worker_shutdown_timeout

Нет

server-names-hash-bucket-size

Задаёт значение server_names_hash_bucket_size

256

server-names-hash-max-size

Задаёт значение server_names_hash_max_size

1024

map-hash-bucket-size

Задаёт значение map_hash_bucket_size

256

map-hash-max-size

Задаёт значение map_hash_max_size

2048

resolver-addresses

Задаёт значение DNS resolver’a

Нет

resolver-ipv6

Разрешает или запрещает поиск IPv6-адресов

True

resolver-valid

Позволяет переопределить срок кэширования DNS-записей

Нет

resolver-timeout

Задаёт значение resolver_timeout

30s

keepalive-timeout

Задаёт значение keepalive_timeout

65s

keepalive-requests

Задаёт значение keepalive_requests

100

variables-hash-bucket-size

Задаёт значение variables_hash_bucket_size

256

variables-hash-max-size

Задаёт значение variables_hash_max_size

1024

Параметры ведения журнала

Параметр

Описание

Умолчание

error-log-level

Определяет глобальное значение уровня error_log и может принимать одно из следующих значений: debug, info, notice, warn, error, crit, alert или emerg

notice

access-log-off

Отключает access_log

False

default-server-access-log-off

Отключает access_log для сервиса по умолчанию

False

log-format

Задаёт общий формат журнала. Для удобства можно использовать несколько строк, разделенных \n. В этом случае каждый перевод строки будет заменен на пробел. Все символы ' должны быть экранированы

Нет

log-format-escaping

Позволяет задать экранирование символов json или default в переменных; по умолчанию используется default. Значение none отключает экранирование

default

stream-log-format

Задаёт формат журнала stream для сквозного трафика TCP, UDP и TLS. Для удобства можно использовать несколько строк, разделенных \n. В этом случае каждый перевод строки будет заменен на пробел. Все символы ' должны быть экранированы

Нет

stream-log-format-escaping

Позволяет задать экранирование символов json или default в переменных; по умолчанию используется default. Значение none отключает экранирование

default

Управление URI и заголовками в запросах

proxy-hide-headers

Значение одного proxy_hide_header или нескольких

proxy-pass-headers

Значение одного proxy_pass_header или нескольких

Авторизация и SSL/TLS

Параметр

Описание

Умолчание

redirect-to-https

Задаёт правило 301 redirect в зависимости от заголовка http_x_forwarded_proto

False

ssl-redirect

Задаёт правило 301 redirect для всего входящего HTTP-трафика, чтобы перевести запросы в HTTPS

True

ssl-protocols

Задаёт значение ssl_protocols

TLSv1 TLSv1.1 TLSv1.2

ssl-prefer-server-ciphers

Включает или отключает ssl_prefer_server_ciphers

False

ssl-ciphers

Задаёт значение ssl_ciphers

HIGH:!aNULL:!MD5

ssl-dhparam-file

Указывает файл с параметрами для DHE-шифров

Нет

Протоколы

Параметр

Описание

Умолчание

http2

Включает поддержку протокола HTTP/2

False

proxy-protocol

Указывает, что все соединения, принимаемые на данном слушающем сокете, должны использовать протокол PROXY

False

Апстримы

Параметр

Описание

Умолчание

max-fails

Задаёт значение max_fails для сервера

1

upstream-zone-size

Задаёт имя и размер зоны разделяемой памяти

Нет

fail-timeout

Задаёт значение fail_timeout для сервера

10s

keepalive

Задействует кэш соединений для группы серверов апстрима

Нет

Настраиваемые шаблоны

main-snippets

Вставляет собственный фрагмент конфигурации в контекст main

http-snippets

Вставляет собственный фрагмент конфигурации в контекст http

location-snippets

Вставляет собственный фрагмент конфигурации в контекст location

server-snippets

Вставляет собственный фрагмент конфигурации в контекст server

stream-snippets

Вставляет собственный фрагмент конфигурации в контекст stream

main-template

Определяет основной шаблон для основных настроек Angie. По умолчанию шаблон считывается из файла в контейнере

ingress-template

Определяет шаблон настроек для ресурса Ingress. По умолчанию шаблон считывается из файла в контейнере

virtualserver-template

Определяет шаблон настроек для ресурса VirtualServer. По умолчанию шаблон считывается из файла в контейнере