ConfigMap#
ConfigMap позволяет настраивать поведение Angie. Например, можно задать количество рабочих процессов или настроить формат журнала доступа.
Использование ConfigMap#
Наши инструкции по установке с манифестами развертывают пустой ConfigMap, в то время как манифесты установки по умолчанию указывают ее в аргументах командной строки ANIC. Однако, если вы настроили манифесты, чтобы использовать ConfigMap, обязательно укажите ресурс ConfigMap для использования с помощью аргументов командной строки ANIC.
-
Создайте файл ConfigMap с именем
angie-config.yaml
и установите значения, которые имеют смысл для вашей среды: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
См. в разделе Краткое описание ключей ConfigMap сведения о доступных ключах ConfigMap (таких как
proxy-connect-timeout
в этом примере). -
Создайте новый (или обновите существующий) ресурс ConfigMap:
kubectl apply -f angie-config.yaml
Конфигурация Angie будет обновлена.
ConfigMap и аннотации Ingress#
Аннотации позволяют настраивать расширенные функции Angie и менять поведение Angie.
ConfigMap применяется глобально, то есть влияет на каждый ресурс
Ingress. Напротив, аннотации всегда применяются только к своему ресурсу
Ingress. Аннотации позволяют переопределять некоторые ключи ConfigMap.
Например, в angie.software/proxy-connect-timeout
аннотации
переопределяют ключ конфигурации proxy-connect-timeout
.
Переопределение ConfigMap для конкретного ресурса Ingress с помощью аннотации#
Вы можете применять разные конфигурации ConfigMap к Ingress-ресурсам в зависимости от того, какое пространство имен указано в конфигурации. Аннотация angie.software/configmap
позволяет задать конкретный ConfigMap для настройки ресурса Ingress. Заданный ConfigMap будет иметь приоритет над глобальным. В случае, если глобальный и заданный ConfigMap совпадают, применится заданный.
Чтобы применить конкретный ConfigMap к ресурсу Ingress:
-
Создайте ConfigMap с указанием нужного пространства имен.
Например:
kind: ConfigMap apiVersion: v1 metadata: name: echoserver-new-config namespace: echoserver-new data: server-snippets: | location /echoserver-new-snippet { return 302 /echo-test-2; }
-
Укажите аннотацию
angie.software/configmap
в ресурсе Ingress, к которому нужно применить этот ConfigMap.Например:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: angie.software/configmap: "echoserver-new/echoserver-new-config" name: echoserver-new namespace: echoserver-new spec: ingressClassName: angie rules: - host: test-new.example.com http: paths: - backend: service: name: echoserver-new port: number: 8077 pathType: ImplementationSpecific
В этом примере аннотация
angie.software/configmap
указывает на использование конфигурации из ConfigMapechoserver-new-config
. Это означает, что директивы, описанные вserver-snippets
из этого ConfigMap, будут применяться к запросам, обрабатываемым этим Ingress.
См. также документацию по расширенной конфигурации с помощью аннотаций.
ConfigMap и ресурсы VirtualServer, VirtualServerRoute#
ConfigMap влияет на все ресурсы VirtualServer и VirtualServerRoute.
Однако поля этих ресурсов позволяют переопределять некоторые ключи
ConfigMap. Например, поле connect-timeout
сервера апстрима
имеет
приоритет над ключом ConfigMap proxy-connect-timeout
.
См. документацию по ресурсам VirtualServer и VirtualServerRoute.
Краткое описание ключей ConfigMap#
Примечание
Для всех параметров типа boolean
допустимы пары значений true
/ false
, t
/ f
, on
/ off
и 1
/ 0
. Регистр не имеет значения.
ANIC (не связанные с конфигурацией Angie)#
Ключ ConfigMap |
Описание |
По умолчанию |
Пример |
---|---|---|---|
|
Задает адрес, который будет отображаться в статусе ресурсов Ingress.
Требуется аргумент командной строки |
Н/Д |
Общая настройка#
Ключ ConfigMap |
Описание |
По умолчанию |
Пример |
---|---|---|---|
|
Задает значение директив proxy_connect_timeout и grpc_connect_timeout. |
|
|
|
Задает значение директив proxy_read_timeout и grpc_read_timeout. |
|
|
|
Задает значение директив proxy_send_timeout и grpc_send_timeout. |
|
|
|
Задает значение директивы client_max_body_size. |
|
|
|
Включает или отключает буферизацию ответов от проксируемого сервера. |
|
|
|
Задает значение директивы proxy_buffers. |
Зависит от платформы. |
|
|
Задает значение директив proxy_buffer_size и grpc_buffer_size. |
Зависит от платформы. |
|
|
Задает значение директивы proxy_max_temp_file_size. |
|
|
|
Задает значение директивы set_real_ip_from. |
Н/Д |
|
|
Задает значение директивы real_ip_header. |
|
|
|
Включает или отключает директиву real_ip_recursive. |
|
|
|
Настраивает директиву return на сервере по умолчанию, которая
обрабатывает клиентский запрос, если ни один из узлов ресурсов Ingress
или VirtualServer не совпадает. Значение по умолчанию настраивает в Angie
возврат страницы с ошибкой 404. Вы можете настроить фиксированный ответ
или перенаправление. Например, значение |
|
|
|
Включает или отключает директиву server_tokens. |
|
|
|
Задает значение директивы worker_processes. |
|
|
|
Задает значение директивы worker_rlimit_nofile. |
Н/Д |
|
|
Задает значение директивы worker_connections. |
|
|
|
Задает значение директивы worker_cpu_affinity. |
Н/Д |
|
|
Задает значение директивы worker_shutdown_timeout. |
Н/Д |
|
|
Задает значение директивы server_names_hash_bucket_size. |
|
|
|
Задает значение директивы server_names_hash_max_size. |
|
|
|
Задает значение директивы map_hash_bucket_size. |
|
|
|
Задает значение директивы map_hash_max_size. |
|
|
|
Задает значение адресов resolver. |
Н/Д |
|
|
Включает разрешение IPv6 в распознавателе. |
|
|
|
Задает значение resolver_timeout для разрешения имен. |
|
|
|
Задает значение директивы keepalive_timeout. |
|
|
|
Задает значение директивы keepalive_requests. |
|
|
|
Задает значение директивы variables_hash_bucket_size. |
|
|
|
Задает значение директивы variables_hash_max_size. |
|
Ведение журнала#
Ключ ConfigMap |
Описание |
По умолчанию |
Пример |
---|---|---|---|
|
Задает глобальный уровень журнала ошибок для Angie. |
|
|
|
Отключает журнал доступа. |
|
|
|
Отключает журнал доступа для
сервера по умолчанию. Если журнал доступа отключен глобально
( |
|
|
|
Задает настраиваемый формат журнала для HTTP- и
HTTPS-трафика. Для удобства можно определить формат журнала в нескольких
строках (строки разделяются символом |
||
|
Задает экранирующие символы для переменных формата журнала.
Поддерживаемые значения: |
|
|
|
Задает настраиваемый формат журнала <s_log_format> для сквозного
трафика TCP, UDP и TLS. Для удобства можно определить формат журнала в
нескольких строках (строки разделяются символом |
||
|
Задает экранирующие символы для переменных формата журнала потока.
Поддерживаемые значения: |
|
Манипулирование URI и заголовками запроса#
Ключ ConfigMap |
Описание |
По умолчанию |
Пример |
---|---|---|---|
|
Задает значение одной директивы proxy_hide_header или нескольких. |
Н/Д |
|
|
Задает значение одной директивы proxy_pass_header или нескольких. |
Н/Д |
|
Аутентификация, SSL, TLS#
Ключ ConfigMap |
Описание |
По умолчанию |
Пример |
---|---|---|---|
|
Задает правило перенаправления 301 на основе значения заголовка
|
|
|
|
Задает безусловное правило перенаправления 301 для всего входящего HTTP-трафика, требуя, чтобы входящий трафик шел по протоколу HTTPS. |
|
|
|
Включает режим HTTP Strict Transport Security (HSTS): заголовок HSTS
добавляется к ответам от проксируемых серверов. Директива |
|
|
|
Задает значение директивы |
|
|
|
Добавляет директиву |
|
|
|
Включает HSTS на основе значения заголовка запроса
Примечание Чтобы управлять перенаправлением с HTTP на HTTPS,
настройте аннотацию |
|
|
|
Задает значение директивы ssl_protocols. |
|
|
|
Включает или отключает директиву ssl_prefer_server_ciphers. |
|
|
|
Задает значение директивы ssl_ciphers. |
|
|
|
Задает содержимое файла |
Н/Д |
Прослушиватели#
Ключ ConfigMap |
Описание |
По умолчанию |
Пример |
---|---|---|---|
|
Включает HTTP/2 на серверах с включенным SSL. |
|
|
|
Включает прокси-протокол для входящих соединений. |
|
Бэкенд-сервисы (апстримы)#
Ключ ConfigMap |
Описание |
По умолчанию |
Пример |
---|---|---|---|
|
Задает метод балансировки нагрузки. Чтобы использовать циклический
метод, укажите |
|
|
|
Задает значение параметра |
|
|
|
Задает размер зоны разделяемой памяти для апстримов. |
||
|
Задает значение параметра |
|
|
|
Задает значение директивы keepalive. Обратите внимание: если
значение больше 0, в сгенерированную конфигурацию добавляется
|
|
Фрагменты и пользовательские шаблоны#
Ключ ConfigMap |
Описание |
По умолчанию |
Пример |
---|---|---|---|
|
Задает пользовательский фрагмент в основном контексте. |
Н/Д |
|
|
Задает пользовательский фрагмент в контексте http. |
Н/Д |
|
|
Задает пользовательский фрагмент в контексте location. |
Н/Д |
|
|
Задает пользовательский фрагмент в контексте server. |
Н/Д |
|
|
Задает пользовательский фрагмент в контексте stream. |
Н/Д |
|
|
Задает основной шаблон конфигурации Angie. |
По умолчанию шаблон считывается из файла в контейнере. |
|
|
Задает шаблон конфигурации Angie для ресурса Ingress. |
По умолчанию шаблон считывается из файла в контейнере. |
|
|
Задает шаблон конфигурации Angie для ресурса VirtualServer. |
По умолчанию шаблон считывается из файла в контейнере. |